令牌无效,状态不匹配-仅Auth0错误Safari
在Safari中使用Auth0库中的parseHash函数时遇到错误
相同的代码在Chrome中运行良好。可以采取什么措施来解决此问题?
handleAuthentication = (onSuccessCallback, onErrorCallback) => {
console.log('handle auth', this.authservice);
this.authservice.parseHash((err, authResult) => {
console.log('authresult inside', authResult, 'error', err);
if (authResult && authResult.accessToken && authResult.idToken) {
this.setSession(authResult, onSuccessCallback);
} else if (err) {
// onErrorCallback();
}
});
};
解决方案
经过大量调研和文章探索,我终于找到了这个问题的解决方案。 由于auth0无法访问转发以检查登录详细信息所需的状态和随机数参数,因此我们可以手动添加它,以使身份验证流正常工作。
login = () => {
this.authservice.authorize(
{
nonce: ${randomString},
state: ${randomString},
}
);
}
handleAuthentication = (onSuccessCallback, onErrorCallback) => {
this.authservice.parseHash(
{nonce: ${randomString}, state: ${randomString},
(err, result) => {
// some code
}
);
};
希望它也适用于您!!
相关文章