Sha256: 20911efad3508ccabb2b96e1f438a85f0c89090ec9ef6e528da97487c0bffac4

Contents?: true

Size: 894 Bytes

Versions: 6

Compression:

Stored size: 894 Bytes

Contents

module DiscourseApi
  module API
    module SSO
      def sync_sso(params={})
        sso = DiscourseApi::SingleSignOn.new
        sso.sso_secret = params[:sso_secret]
        sso.name = params[:name]
        sso.username = params[:username]
        sso.email = params[:email]
        sso.external_id = params[:external_id]
        sso.suppress_welcome_message = params[:suppress_welcome_message] === true
        sso.avatar_url = params[:avatar_url]
        sso.title = params[:title]
        sso.avatar_force_update = params[:avatar_force_update] === true
        sso.add_groups = params[:add_groups]
        sso.remove_groups = params[:remove_groups]
        params.keys.select{|key| key.to_s.start_with?("custom") }.each do |custom_key|
          sso.custom_fields[custom_key] = params[custom_key]
        end

        post("/admin/users/sync_sso", sso.payload)
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
discourse_api-0.34.0 lib/discourse_api/api/sso.rb
discourse_api-0.33.0 lib/discourse_api/api/sso.rb
discourse_api-0.32.0 lib/discourse_api/api/sso.rb
discourse_api-0.31.0 lib/discourse_api/api/sso.rb
discourse_api-0.30.0 lib/discourse_api/api/sso.rb
discourse_api-0.29.0 lib/discourse_api/api/sso.rb