1

我实施的 auth0 锁似乎最近在 safari 中停止工作。(适用于 Chrome 和 Firefox)。

我更新到最新版本了,还是一样的问题。

"auth0-js": "^9.8.0",
"auth0-lock": "^11.10.0",

这是来自控制台的错误消息。

{error: "server_error", errorDescription: "无法配置验证页面。", state: "w5Eu5lhRuqQ_O-m284pB~sXDLwoZ6_Iz"} = $1

它击中了下面的“authorization_error”回调

this.lock.on('authenticated', (authResult: any) => {
    if (authResult && authResult.accessToken && authResult.idToken) {
        console.log('HERE');
        this.setSession(authResult);
    }
});

this.lock.on('authorization_error', error => {
    console.log('Auth Failed', error);
});
4

1 回答 1

2

对于遇到相同问题的任何人,我有一些坏消息:您现在必须为嵌入的 auth0 Lock(v11) 付费才能使用第三方 cookie。解决方案是使用 Lock 的托管版本,使用authorize方法而不是show().

原因是跨域认证需要跨域cookie在授权服务器中建立SSO会话。

该文档对此非常具有误导性。默认情况下,至少 Safari & Brave 会阻止第三方 cookie,因此 Auth0 Lock 的免费层现在有点没用了。有关此线程的更多信息

于 2019-03-01T08:59:11.643 回答