Я использую Gsuite в качестве Saml IDP для аутентификации пользователей моей организации во внутренних приложениях.
Все работает нормально, за исключением одного момента: когда один из моих пользователей вошел в систему, используя свою личную учетную запись только, у Google возникнет ошибка:
Ошибка 403: app_not_configured_for_user
Это имеет смысл, поскольку приложение предназначено для использования только внутренними пользователями, но я хотел бы иметь возможность заставить аутентификацию Google saml отображать селектор учетной записи, даже если пользователь уже вошел в одну учетную запись , поскольку это возможно для oauth2 с prompt = select_account.
Есть ли способ добиться того же поведения с SAML?
[EDIT] Мне действительно удалось добиться того, чего я хочу, используя
https://accounts.google.com/AccountChooser/?continue= $ SAML_REQUEST $
[РЕДАКТИРОВАТЬ 2] Вот фрагмент кода для адаптации в ruby on rails (с использованием ruby-saml )
config / initializers / saml_override.rb
module OneLogin
module RubySaml
class Authrequest < SamlMessage
GOOGLE_ACCOUNT_CHOOSER_URL = "https://accounts.google.com/AccountChooser?continue="
alias_method :old_create, :create
def create(settings, params = {})
self.old_create(settings, params)
@login_url = GOOGLE_ACCOUNT_CHOOSER_URL + CGI.escape(@login_url)
end
end
end
end