mirror of
https://github.com/discourse/discourse.git
synced 2025-02-21 00:43:54 +08:00
Add user title to SSO payload
This commit is contained in:
parent
a898d6a02a
commit
40164ccd4a
@ -79,6 +79,8 @@ class DiscourseSingleSignOn < SingleSignOn
|
||||
user.admin = admin unless admin.nil?
|
||||
user.moderator = moderator unless moderator.nil?
|
||||
|
||||
user.title = title unless title.nil?
|
||||
|
||||
# optionally save the user and sso_record if they have changed
|
||||
user.user_avatar.save! if user.user_avatar
|
||||
user.save!
|
||||
|
@ -1,6 +1,6 @@
|
||||
class SingleSignOn
|
||||
ACCESSORS = [:nonce, :name, :username, :email, :avatar_url, :avatar_force_update, :require_activation,
|
||||
:bio, :external_id, :return_sso_url, :admin, :moderator, :suppress_welcome_message,
|
||||
:bio, :external_id, :return_sso_url, :admin, :moderator, :suppress_welcome_message, :title,
|
||||
:add_groups, :remove_groups]
|
||||
FIXNUMS = []
|
||||
BOOLS = [:avatar_force_update, :admin, :moderator, :require_activation, :suppress_welcome_message]
|
||||
|
@ -27,6 +27,7 @@ describe DiscourseSingleSignOn do
|
||||
sso.moderator = false
|
||||
sso.suppress_welcome_message = false
|
||||
sso.require_activation = false
|
||||
sso.title = "user title"
|
||||
sso.custom_fields["a"] = "Aa"
|
||||
sso.custom_fields["b.b"] = "B.b"
|
||||
sso
|
||||
@ -45,6 +46,7 @@ describe DiscourseSingleSignOn do
|
||||
expect(parsed.moderator).to eq sso.moderator
|
||||
expect(parsed.suppress_welcome_message).to eq sso.suppress_welcome_message
|
||||
expect(parsed.require_activation).to eq false
|
||||
expect(parsed.title).to eq sso.title
|
||||
expect(parsed.custom_fields["a"]).to eq "Aa"
|
||||
expect(parsed.custom_fields["b.b"]).to eq "B.b"
|
||||
end
|
||||
@ -270,6 +272,33 @@ describe DiscourseSingleSignOn do
|
||||
end
|
||||
end
|
||||
|
||||
context 'setting title for a user' do
|
||||
let(:sso) {
|
||||
sso = DiscourseSingleSignOn.new
|
||||
sso.username = 'test'
|
||||
sso.name = 'test'
|
||||
sso.email = 'test@test.com'
|
||||
sso.external_id = '100'
|
||||
sso.title = "The User's Title"
|
||||
sso
|
||||
}
|
||||
|
||||
it 'can set title if supplied on new users' do
|
||||
user = sso.lookup_or_create_user(ip_address)
|
||||
expect(user.title).to eq(sso.title)
|
||||
end
|
||||
|
||||
it 'sets the title if user has an empty title' do
|
||||
sso.title = ' '
|
||||
user = sso.lookup_or_create_user(ip_address)
|
||||
|
||||
sso.title = 'I am a new title'
|
||||
user = sso.lookup_or_create_user(ip_address)
|
||||
|
||||
expect(user.title).to eq(sso.title)
|
||||
end
|
||||
end
|
||||
|
||||
context 'setting bio for a user' do
|
||||
let(:sso) {
|
||||
sso = DiscourseSingleSignOn.new
|
||||
|
Loading…
x
Reference in New Issue
Block a user