mirror of
https://github.com/we-promise/sure.git
synced 2026-04-19 12:04:08 +00:00
Added fallback to use the first identity when session login provider is unavailable.
This commit is contained in:
@@ -71,8 +71,12 @@ class SessionsController < ApplicationController
|
|||||||
id_token = session[:id_token_hint]
|
id_token = session[:id_token_hint]
|
||||||
login_provider = session[:sso_login_provider]
|
login_provider = session[:sso_login_provider]
|
||||||
|
|
||||||
# Find the identity for the provider used during login (not arbitrary .first)
|
# Find the identity for the provider used during login, with fallback to first if session data lost
|
||||||
oidc_identity = login_provider.present? ? user.oidc_identities.find_by(provider: login_provider) : nil
|
oidc_identity = if login_provider.present?
|
||||||
|
user.oidc_identities.find_by(provider: login_provider)
|
||||||
|
else
|
||||||
|
user.oidc_identities.first
|
||||||
|
end
|
||||||
|
|
||||||
# Destroy local session
|
# Destroy local session
|
||||||
@session.destroy
|
@session.destroy
|
||||||
|
|||||||
Reference in New Issue
Block a user