令牌无效,状态不匹配-仅Auth0错误Safari [英] Invalid token, state does not match - Auth0 Error Safari only

查看:0
本文介绍了令牌无效,状态不匹配-仅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
       }
     );
   };

希望它也适用于您!!

这篇关于令牌无效,状态不匹配-仅Auth0错误Safari的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆