Проверка на сессию единого входа при интеграции Auth0 с Google
Я использую Auth0 для достижения единого входа с социальной учетной записью Google, используя следующий код:
this.auth0.getSSOData(function (err, data) {
if (!isAuthCallback && !err && data.sso) { //Problem line
// ...
}
}
Если я использую Auth0 встроенную аутентификацию по имени пользователя и паролю, то data.sso
возвращается true
Это означает, что сеанс единого входа активен.
Однако, если я использую что-то вроде Google, для аутентификации, то data.sso
возвращается false
, Как это исправить?
1 ответ
Если вы правильно включили флаг Использовать Auth0 вместо IdP для единого входа, и вы все еще наблюдаете это поведение, наиболее вероятной причиной является использование ключей разработчика Auth0 в социальной сети Google.
Одной из проблем неиспользования ваших собственных ключей является то, что SSO не будет работать должным образом; см. Использование ключей разработчика Auth0 с социальными связями для получения дополнительной информации о других ограничениях.
Единый вход не будет работать должным образом при использовании ключей разработчика Auth0. Причина этого заключается в том, что приложения-разработчики Auth0 со всеми соответствующими поставщиками удостоверений настроены на обратный вызов URL-адреса
https://login.auth0.com/login/callback
вместо URL обратного вызова для вашего собственного арендатора, т.е.https://YOUR_AUTH0_DOMAIN/login/callback
,Это приводит к тому, что cookie-файл SSO не устанавливается в вашем собственном домене клиента , поэтому в следующий раз, когда пользователь аутентифицируется, cookie-файл SSO не будет обнаружен, даже если вы настроили своего клиента на использование Auth0 вместо поставщика удостоверений для единого входа.
(акцент мой)