我尝试使用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的方法?
非常感谢任何帮助。
提前致谢。
答案 0 :(得分:5)
对于所有感兴趣的人,我设法通过以下方式实现它:
无论如何,我们现在相信从服务器动态加载Keycloak.js不是一个好主意,最重要的是,这会将我们的应用程序与Keycloak紧密结合。我们现在正在寻找更通用的OIDC实现。
至于存储令牌,我们认为Redux商店可能不是JWT的最佳位置。我们正在考虑在localStorage中保存令牌。
希望这有助于某人!
答案 1 :(得分:1)
这里是react app,展示了我们如何将SSO与React应用程序集成。
免责声明:我是该回购协议的所有者