@ -76,35 +76,35 @@ Devise.setup do |config|
# OpenID Connect Strategy
if ENV [ 'OIDC_ENABLED' ] == 'true'
oidc_options = { }
oidc_options [ :display_name ] = ENV [ 'OIDC_DISPLAY_NAME' ] # OPTIONAL
oidc_options [ :issuer ] = ENV [ 'OIDC_ISSUER' ] if ENV [ 'OIDC_ISSUER' ] # NEED
oidc_options [ :discovery ] = ENV [ 'OIDC_DISCOVERY' ] == 'true' if ENV [ 'OIDC_DISCOVERY' ] # OPTIONAL (default: false)
oidc_options [ :client_auth_method ] = ENV [ 'OIDC_CLIENT_AUTH_METHOD' ] if ENV [ 'OIDC_CLIENT_AUTH_METHOD' ] # OPTIONAL (default: basic)
scope_string = ENV [ 'OIDC_SCOPE' ] if ENV [ 'OIDC_SCOPE' ] # NEED
oidc_options [ :display_name ] = ENV [ 'OIDC_DISPLAY_NAME' ] # OPTIONAL
oidc_options [ :issuer ] = ENV [ 'OIDC_ISSUER' ] if ENV [ 'OIDC_ISSUER' ] # NEED
oidc_options [ :discovery ] = ENV [ 'OIDC_DISCOVERY' ] == 'true' if ENV [ 'OIDC_DISCOVERY' ] # OPTIONAL (default: false)
oidc_options [ :client_auth_method ] = ENV [ 'OIDC_CLIENT_AUTH_METHOD' ] if ENV [ 'OIDC_CLIENT_AUTH_METHOD' ] # OPTIONAL (default: basic)
scope_string = ENV [ 'OIDC_SCOPE' ] if ENV [ 'OIDC_SCOPE' ] # NEED
scopes = scope_string . split ( ',' )
oidc_options [ :scope ] = scopes . map { | x | x . to_sym }
oidc_options [ :response_type ] = ENV [ 'OIDC_RESPONSE_TYPE' ] if ENV [ 'OIDC_RESPONSE_TYPE' ] # OPTIONAL (default: code)
oidc_options [ :response_mode ] = ENV [ 'OIDC_RESPONSE_MODE' ] if ENV [ 'OIDC_RESPONSE_MODE' ] # OPTIONAL (default: query)
oidc_options [ :display ] = ENV [ 'OIDC_DISPLAY' ] if ENV [ 'OIDC_DISPLAY' ] # OPTIONAL (default: page)
oidc_options [ :prompt ] = ENV [ 'OIDC_PROMPT' ] if ENV [ 'OIDC_PROMPT' ] # OPTIONAL
oidc_options [ :send_nonce ] = ENV [ 'OIDC_SEND_NONCE' ] == 'true' if ENV [ 'OIDC_SEND_NONCE' ] # OPTIONAL (default: true)
oidc_options [ :send_scope_to_token_endpoint ] = ENV [ 'OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT' ] == 'true' if ENV [ 'OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT' ] # OPTIONAL (default: true)
oidc_options [ :post_logout_redirect_uri ] = ENV [ 'OIDC_IDP_LOGOUT_REDIRECT_URI' ] if ENV [ 'OIDC_IDP_LOGOUT_REDIRECT_URI' ] # OPTIONAL
oidc_options [ :uid_field ] = ENV [ 'OIDC_UID_FIELD' ] if ENV [ 'OIDC_UID_FIELD' ] # NEED
oidc_options [ :response_type ] = ENV [ 'OIDC_RESPONSE_TYPE' ] if ENV [ 'OIDC_RESPONSE_TYPE' ] # OPTIONAL (default: code)
oidc_options [ :response_mode ] = ENV [ 'OIDC_RESPONSE_MODE' ] if ENV [ 'OIDC_RESPONSE_MODE' ] # OPTIONAL (default: query)
oidc_options [ :display ] = ENV [ 'OIDC_DISPLAY' ] if ENV [ 'OIDC_DISPLAY' ] # OPTIONAL (default: page)
oidc_options [ :prompt ] = ENV [ 'OIDC_PROMPT' ] if ENV [ 'OIDC_PROMPT' ] # OPTIONAL
oidc_options [ :send_nonce ] = ENV [ 'OIDC_SEND_NONCE' ] == 'true' if ENV [ 'OIDC_SEND_NONCE' ] # OPTIONAL (default: true)
oidc_options [ :send_scope_to_token_endpoint ] = ENV [ 'OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT' ] == 'true' if ENV [ 'OIDC_SEND_SCOPE_TO_TOKEN_ENDPOINT' ] # OPTIONAL (default: true)
oidc_options [ :post_logout_redirect_uri ] = ENV [ 'OIDC_IDP_LOGOUT_REDIRECT_URI' ] if ENV [ 'OIDC_IDP_LOGOUT_REDIRECT_URI' ] # OPTIONAL
oidc_options [ :uid_field ] = ENV [ 'OIDC_UID_FIELD' ] if ENV [ 'OIDC_UID_FIELD' ] # NEED
oidc_options [ :client_options ] = { }
oidc_options [ :client_options ] [ :identifier ] = ENV [ 'OIDC_CLIENT_ID' ] if ENV [ 'OIDC_CLIENT_ID' ] # NEED
oidc_options [ :client_options ] [ :secret ] = ENV [ 'OIDC_CLIENT_SECRET' ] if ENV [ 'OIDC_CLIENT_SECRET' ] # NEED
oidc_options [ :client_options ] [ :redirect_uri ] = ENV [ 'OIDC_REDIRECT_URI' ] if ENV [ 'OIDC_REDIRECT_URI' ] # NEED
oidc_options [ :client_options ] [ :scheme ] = ENV [ 'OIDC_HTTP_SCHEME' ] if ENV [ 'OIDC_HTTP_SCHEME' ] # OPTIONAL (default: https)
oidc_options [ :client_options ] [ :host ] = ENV [ 'OIDC_HOST' ] if ENV [ 'OIDC_HOST' ] # OPTIONAL
oidc_options [ :client_options ] [ :port ] = ENV [ 'OIDC_PORT' ] if ENV [ 'OIDC_PORT' ] # OPTIONAL
oidc_options [ :client_options ] [ :authorization_endpoint ] = ENV [ 'OIDC_AUTH_ENDPOINT' ] if ENV [ 'OIDC_AUTH_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :token_endpoint ] = ENV [ 'OIDC_TOKEN_ENDPOINT' ] if ENV [ 'OIDC_TOKEN_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :userinfo_endpoint ] = ENV [ 'OIDC_USER_INFO_ENDPOINT' ] if ENV [ 'OIDC_USER_INFO_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :jwks_uri ] = ENV [ 'OIDC_JWKS_URI' ] if ENV [ 'OIDC_JWKS_URI' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :end_session_endpoint ] = ENV [ 'OIDC_END_SESSION_ENDPOINT' ] if ENV [ 'OIDC_END_SESSION_ENDPOINT' ] # OPTIONAL
oidc_options [ :client_options ] [ :identifier ] = ENV [ 'OIDC_CLIENT_ID' ] if ENV [ 'OIDC_CLIENT_ID' ] # NEED
oidc_options [ :client_options ] [ :secret ] = ENV [ 'OIDC_CLIENT_SECRET' ] if ENV [ 'OIDC_CLIENT_SECRET' ] # NEED
oidc_options [ :client_options ] [ :redirect_uri ] = ENV [ 'OIDC_REDIRECT_URI' ] if ENV [ 'OIDC_REDIRECT_URI' ] # NEED
oidc_options [ :client_options ] [ :scheme ] = ENV [ 'OIDC_HTTP_SCHEME' ] if ENV [ 'OIDC_HTTP_SCHEME' ] # OPTIONAL (default: https)
oidc_options [ :client_options ] [ :host ] = ENV [ 'OIDC_HOST' ] if ENV [ 'OIDC_HOST' ] # OPTIONAL
oidc_options [ :client_options ] [ :port ] = ENV [ 'OIDC_PORT' ] if ENV [ 'OIDC_PORT' ] # OPTIONAL
oidc_options [ :client_options ] [ :authorization_endpoint ] = ENV [ 'OIDC_AUTH_ENDPOINT' ] if ENV [ 'OIDC_AUTH_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :token_endpoint ] = ENV [ 'OIDC_TOKEN_ENDPOINT' ] if ENV [ 'OIDC_TOKEN_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :userinfo_endpoint ] = ENV [ 'OIDC_USER_INFO_ENDPOINT' ] if ENV [ 'OIDC_USER_INFO_ENDPOINT' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :jwks_uri ] = ENV [ 'OIDC_JWKS_URI' ] if ENV [ 'OIDC_JWKS_URI' ] # NEED when discovery != true
oidc_options [ :client_options ] [ :end_session_endpoint ] = ENV [ 'OIDC_END_SESSION_ENDPOINT' ] if ENV [ 'OIDC_END_SESSION_ENDPOINT' ] # OPTIONAL
oidc_options [ :security ] = { }
oidc_options [ :security ] [ :assume_email_is_verified ] = ENV [ 'OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED' ] == 'true' # OPTIONAL
oidc_options [ :security ] [ :assume_email_is_verified ] = ENV [ 'OIDC_SECURITY_ASSUME_EMAIL_IS_VERIFIED' ] == 'true' # OPTIONAL
config . omniauth :openid_connect , oidc_options
end
end