小编Haw*_*kes的帖子

在React-Redux应用程序中使用OpenID Connect SSO

我正在尝试使用OpenID-Connect提供程序在我的React-Redux应用程序上实现SSO.目的是保护所有组件,并在会话结束时将用户重定向到身份提供商的登录页面.这就是我无法在应用程序中拥有专用登录页面(组件)的原因.我已经读过在localStorage中保存JWT可能是一个好主意,所以我想在Redux商店中使用标志isAuthenticated并将JWT保留在localStorage中.然后,我可以从localStorage中获取JWT,以便在我的应用程序中验证我要调用的其他API.这种方法是否合适?

此外,任何人都可以指向我可以用来为此目的获取(和刷新)JWT的库/包吗?我经历了很多文档并尝试了以下但无法使这些工作:

  • redux-oidc:我的应用程序中没有任何特定的Callback组件,所以我不太清楚如何将这种方法应用到我的应用程序中.

  • passport-openid-connect:Passport依赖于在cookies中存储会话,但我想使用localSorage.

  • redux-auth-wrapper:一个更高阶的组件听起来很棒,但我仍然无法弄清楚如何在没有任何专用登录组件的情况下集成它.

有人可以指导我一下吗?我是React生态系统的新手,所以请原谅我的不理解.

任何帮助将非常感激!

谢谢

single-sign-on reactjs openid-connect redux

9
推荐指数
1
解决办法
5621
查看次数

在React-Redux应用程序上实现SSO

我正在尝试使用Keycloak作为外部身份提供程序在React-Redux应用程序上实现SSO.如果用户未经过身份验证,则意图是重定向到IdP的登录页面,并且在成功进行身份验证后,使用access_token访问另一个REST API微服务上的受保护资源.

我尝试使用Keycloak的NodeJS适配器(https://keycloak.gitbooks.io/documentation/securing_apps/topics/oidc/nodejs-adapter.html),它能够将我重定向到IdP登录,我可以得到access_token但这一切都发生在快速会话中并使用MemoryStore.我想知道这是否可以?在快递商店中保存JWT并在进行API调用时从商店检索它们?

或者我应该尝试在Redux的商店中保存身份验证状态(JWT令牌)?与会话cookie相比,它会更好吗?会话cookie可能更安全,但每次都会涉及到商店,对吧?

最重要的是,我如何实现Redux商店拥有JWT的方法?

任何帮助将非常感激.

提前致谢.

single-sign-on reactjs keycloak redux react-redux

1
推荐指数
1
解决办法
5788
查看次数