This website works better with JavaScript.
Home
Explore
Help
Sign In
closed-social
/
mastodon
Watch
3
Star
0
Fork
2
Code
Issues
5
Pull Requests
0
Projects
0
Releases
3
Wiki
Activity
Browse Source
Add additional first_name and last_name SAML attribute statement options, and modify Omniauthable concern to use full_name or first_name + last_name if not available (
#6669
)
pull/4/head
Effy Elden
6 years ago
committed by
Eugen Rochko
parent
89a52d6280
commit
dd9d00d293
3 changed files
with
7 additions
and
2 deletions
Split View
Diff Options
Show Stats
Download Patch File
Download Diff File
+3
-1
.env.production.sample
+2
-1
app/models/concerns/omniauthable.rb
+2
-0
config/initializers/omniauth.rb
+ 3
- 1
.env.production.sample
View File
@ -204,7 +204,9 @@ STREAMING_CLUSTER_NUM=1
# SAML_SECURITY_ASSUME_EMAIL_IS_VERIFIED=true
# SAML_ATTRIBUTES_STATEMENTS_UID="urn:oid:0.9.2342.19200300.100.1.1"
# SAML_ATTRIBUTES_STATEMENTS_EMAIL="urn:oid:1.3.6.1.4.1.5923.1.1.1.6"
# SAML_ATTRIBUTES_STATEMENTS_FULL_NAME="urn:oid:2.5.4.42"
# SAML_ATTRIBUTES_STATEMENTS_FULL_NAME="urn:oid:2.16.840.1.113730.3.1.241"
# SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME="urn:oid:2.5.4.42"
# SAML_ATTRIBUTES_STATEMENTS_LAST_NAME="urn:oid:2.5.4.4"
# SAML_UID_ATTRIBUTE="urn:oid:0.9.2342.19200300.100.1.1"
# SAML_ATTRIBUTES_STATEMENTS_VERIFIED=
# SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL=
+ 2
- 1
app/models/concerns/omniauthable.rb
View File
@ -58,13 +58,14 @@ module Omniauthable
email_is_verified
=
auth
.
info
.
verified
||
auth
.
info
.
verified_email
||
assume_verified
email
=
auth
.
info
.
verified_email
||
auth
.
info
.
email
email
=
email_is_verified
&&
!
User
.
exists?
(
email
:
auth
.
info
.
email
)
&&
email
display_name
=
auth
.
info
.
full_name
||
[
auth
.
info
.
first_name
,
auth
.
info
.
last_name
]
.
join
(
' '
)
{
email
:
email
?
email
:
"
#{
TEMP_EMAIL_PREFIX
}
-
#{
auth
.
uid
}
-
#{
auth
.
provider
}
.com
"
,
password
:
Devise
.
friendly_token
[
0
,
20
]
,
account_attributes
:
{
username
:
ensure_unique_username
(
auth
.
uid
)
,
display_name
:
[
auth
.
info
.
first_name
,
auth
.
info
.
last_name
]
.
join
(
' '
)
,
display_name
:
display_name
,
}
,
}
end
+ 2
- 0
config/initializers/omniauth.rb
View File
@ -55,6 +55,8 @@ Devise.setup do |config|
saml_options
[
:attribute_statements
]
[
:uid
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_UID'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_UID'
]
saml_options
[
:attribute_statements
]
[
:email
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_EMAIL'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_EMAIL'
]
saml_options
[
:attribute_statements
]
[
:full_name
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_FULL_NAME'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_FULL_NAME'
]
saml_options
[
:attribute_statements
]
[
:first_name
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_FIRST_NAME'
]
saml_options
[
:attribute_statements
]
[
:last_name
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_LAST_NAME'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_LAST_NAME'
]
saml_options
[
:attribute_statements
]
[
:verified
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_VERIFIED'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_VERIFIED'
]
saml_options
[
:attribute_statements
]
[
:verified_email
]
=
[
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL'
]
]
if
ENV
[
'SAML_ATTRIBUTES_STATEMENTS_VERIFIED_EMAIL'
]
saml_options
[
:uid_attribute
]
=
ENV
[
'SAML_UID_ATTRIBUTE'
]
if
ENV
[
'SAML_UID_ATTRIBUTE'
]
Write
Preview
Loading…
Cancel
Save