在 React 和 NodeJS 中未经授权重定向之前刷新令牌

Posted

技术标签:

【中文标题】在 React 和 NodeJS 中未经授权重定向之前刷新令牌【英文标题】:Refresh token before Unauthorized Redirect in React and NodeJS 【发布时间】:2019-04-25 12:28:21 【问题描述】:

有没有使用 Apollo 的令牌刷新流程示例?我有一个网站可以重定向没有令牌并且需要在重定向之前刷新的用户。

【问题讨论】:

【参考方案1】:

您可以查看包的文档apollo-link-error

onError(( graphQLErrors, networkError, operation, forward ) => 
    if (graphQLErrors) 
      for (let err of graphQLErrors) 
        switch (err.extensions.code) 
          case 'UNAUTHENTICATED':
            // error code is set to UNAUTHENTICATED
            // when AuthenticationError thrown in resolver

            // modify the operation context with a new token
            const oldHeaders = operation.getContext().headers;
            operation.setContext(
              headers: 
                ...oldHeaders,
                authorization: getNewToken(),
              ,
            );
            // retry the request, returning the new observable
            return forward(operation);
        
      
    
    if (networkError) 
      console.log(`[Network error]: $networkError`);
      // if you would also like to retry automatically on
      // network errors, we recommend that you use
      // apollo-link-retry
    
  
);

【讨论】:

以上是关于在 React 和 NodeJS 中未经授权重定向之前刷新令牌的主要内容,如果未能解决你的问题,请参考以下文章

在哪里输入 Facebook 登录授权重定向 URI?

部分视图和视图的授权重定向

Authorization_code 授权重定向问题

Facebook Oauth 授权重定向在 Internet Explorer 中因扩展权限而失败

Google 数据 API 授权重定向 URI 不匹配

JWT 授权重定向到登录