Module: DiscourseApi::API::SSO

Included in:
Client
Defined in:
lib/discourse_api/api/sso.rb

Instance Method Summary collapse

Instance Method Details

#sync_sso(params = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/discourse_api/api/sso.rb', line 4

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.avatar_force_update = params[:avatar_force_update] === true
  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