Проверка на сессию единого входа при интеграции 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 вместо поставщика удостоверений для единого входа.

(акцент мой)

Другие вопросы по тегам