我们希望用相同的用户、数据库和Rest开发少量不同的服务(React )。有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,有些用户可以访问应用程序1,有些用户可以访问应用程序2,
中使用JWT机制
结构:

八月流动:

该流程中有两个主要问题,分别被标记为1和2:
中的令牌来响应登录应用程序重定向吗?
- local storage is subdomain scoped.
- iframe has problems with Safari.
- I don't wanna save jwt in cookies for now because the flask REST can serve non-browser retailed clients.
- Can i just use 3rd party Open id connect service?
- Should i consider microfrontends approcah to make the all the "apps" on the same domain?
- How "Attlassian" as an example handles this process?
我错过了什么?解决这个问题的最好方法是什么?
发布于 2020-05-01 09:34:53
让我去登录应用程序并登录,从后端获得accestoken。如何将令牌传递给app1.company.com?
login.company.com将令牌作为URL中的参数传递并不是一个问题,因为站点可以通过验证数字签名或中央身份验证域中的特定端点来验证令牌的真实性。这就是openid/oauth2使用“隐式”流的方式,尽管它们也允许将令牌作为POST发送,或者使用2步流("authorization_code“流)。
可以说用户想要访问app2。如果我们不能与iframes或任何其他方法共享来自app1的令牌,那么这个应用程序应该被重定向到登录,并使进程再次作为app1,这对我们来说很好。但这真的是这样吗?
您可以使用内部iframe在域之间共享令牌,但在您的情况下,我建议每个域使用自己的令牌。
如果令牌不再无效,并且我们从后端获得错误,我们应该重定向到另一个子域中的登录应用程序(在登录成功后嵌入我们想要返回的url )吗?
是的,在绘图的数字2中,只需将app2.company.com重定向到login.company.com,并遵循与1)相同的流程,. You将需要login.company.com上的某种类型的cookie,以避免再次向用户请求凭据。
我可以使用第三方开放身份连接服务吗?
是的,您可以使用外部OpenIdConnect服务,也可以在login.company.com部署OpenIdConnect服务器,如IdentityServer或KeyCloak。
,我是否应该考虑微前端应用程序,使所有的“应用”在同一个领域?
没有必要有一个中央身份验证域。
以"Attlassian“为例如何处理此过程?
我不知道Attlassian是怎么做到的,但目前大多数web服务都支持OpenIdConnect
https://stackoverflow.com/questions/61483579
复制相似问题