我正在尝试使用 OpenID-Connect 提供程序在我的 React-Redux 应用程序上实现 SSO。目的是保护所有组件并在会话结束时将用户重定向到身份提供者的登录页面。这就是为什么我不能在应用程序中使用专用登录页面(组件)的原因。我读过将 JWT 保存在 localStorage 中可能是个好主意,所以我想在 Redux 存储中使用标志 isAuthenticated 并将 JWT 保留在 localStorage 中。然后,我可以从 localStorage 获取 JWT 以验证我将从我的应用程序中调用的其他 API。这种方法合适吗?
此外,任何人都可以指出我可以用于为此目的获取(和刷新)JWT 的库/包吗?我浏览了大量文档并尝试了以下内容,但无法使这些工作:
redux-oidc:我的应用程序中没有任何特定的回调组件,所以我不太知道如何将这种方法应用于我的应用程序。
passport-openid-connect:Passport 依赖于在 cookie 中存储会话,但我想改用 localSorage。
redux-auth-wrapper:高阶组件听起来不错,但我仍然无法弄清楚如何在没有任何专用登录组件的情况下集成它。
有人可以指导我吗?我是 React 生态系统的新手,所以请原谅我的不理解。
任何帮助将非常感激!
谢谢