[英]Login/Authentication with OAuth2 and single-spa
我已经开始为具有单水疗中心的前端层构建原型。 布局与https://github.com/react-microfrontends非常相似,这意味着:
我设法让一个基本原型运行,但我现在需要实现一些基于 OAuth2/OpenID 的身份验证,我不知道从哪里开始。 如果未通过身份验证或没有有效的 JWT,我需要将用户重定向到单独的 URL(Auth0 样式),然后我需要在身份验证令牌过期时进行令牌刷新机制。 除了关于最佳实践、现有示例等的任何一般性建议之外,我还有一些我无法完全解决的具体问题。
提前致谢。
典型的方法是设置一个 Auth 微前端,它将:
登录时处理凭证检索。 无论是通过密码流还是 OAuth(在您的情况下)。 由于您使用的是 React,因此您的 OAuth 提供程序应该有一个库,您可以在 Auth MFE 中使用它来与之交互。 如果是 keycloak,React Keycloak 就很合适。 这里没有经验法则。
通过浏览器存储或共享 state 将凭据传递给您的两个 React 应用程序(微前端)和 API 模块。 这样做,API 模块将在 API 调用中设置凭据。 并且两个 react 应用程序会在继续执行其内部逻辑之前检查凭据是否存在。
在到期时刷新凭据或注销用户(取决于您的逻辑)。 例如,记录用户意味着从浏览器存储中删除凭据。
登录后重定向到您的反应应用程序之一。 这意味着 Auth MFE 路由应始终在根配置中处于活动状态。
我希望它有所帮助。 在这里,我总结了流程。
更多内容在我的 github 帐户https://github.com/exaucae/single-spa-patterns/blob/master/AUTHENTICATION.md
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.