在 Okta React 应用程序中寻求有关令牌刷新的指导,无需重定向到 /login/callback

问题描述 投票:0回答:1

Stack Overflow 社区您好,

我目前正在开发一个 React 应用程序,该应用程序利用

@okta/okta-react
@okta/okta-auth-js
包进行身份验证。当前的实现涉及当用户的身份验证令牌在 1 小时后过期时将用户重定向到
/login/callback
。然而,这种重定向正在影响整体用户体验。

我正在寻求有关如何实现令牌刷新而不需要重定向到

/login/callback
的建议。我研究了 Okta 包的文档,但尚未找到明确的解决方案。

这是当前代码的简化版本:

import { useOktaAuth } from '@okta/okta-react';

const MyProtectedComponent = () => {
  const { authState, oktaAuth } = useOktaAuth();

  if (!authState.isAuthenticated) {
    // Redirect to Okta login if not authenticated
    oktaAuth.signInWithRedirect();
    return null;
  }

  // My protected component logic here

  return (
    <div>
      {/* Render protected content */}
    </div>
  );
};

我将非常感谢任何能够演示如何无缝刷新令牌而不触发重定向到

/login/callback
的见解或代码示例。目标是增强用户体验并避免不必要的干扰。

预先感谢您的协助!

我们正在使用的库版本

 "@okta/okta-auth-js": "7.4.2",
 "@okta/okta-react": "6.7.0",
okta okta-api okta-signin-widget okta-auth-js
1个回答
0
投票

查看 okta-auth-js 的 tokenService 参数。 如果传递到 OktaAuth 构造函数的配置允许,库应该能够静默更新令牌。

否则,您可以手动更新/刷新监听 tokenManager 的令牌回调

© www.soinside.com 2019 - 2024. All rights reserved.