问题描述
这是我需要的场景:
- 有一个身份服务器
- 在更多应用程序之间共享身份服务器
- 只能登录一次并访问您可以访问的所有应用程序 例如,对于 Google 服务,如果您已登录,则可以在不同应用(gmail、驱动器、照片等)之间切换,而无需为每个应用重新登录
- 我必须使用 AWS 基础设施
我开始尝试的:
- 我使用 AWS cognito 创建了一个用户池和身份池
- 我向用户池添加了两个客户端应用,App1 和 App2
- 我使用 Next.js 创建了两个应用程序,并为这些应用程序添加了 AWS Auth 和 Amplify
我得到了什么?
这两个应用似乎运行良好,它们正确地共享相同的用户,当从用户创建的应用中的一个添加用户时,该用户能够在另一个应用中使用相同的凭据登录。
什么不起作用
我没有单点登录,如果我要去登录App1,我去App2时必须重新登录。 如果我在 App1 中注销,我仍然在 App2 中保持登录状态 我想要一个 SSO,但我不明白是否可行以及如何做到这一点。
我必须添加的内容
除了描述的 SSO 行为之外,我还必须添加一定的访问粒度。 例如,用户应该阅读一些信息但他不应该更新它或添加新数据。 我想将范围添加为:app1.read、app2.read、app1.update 等,并按范围而不是按角色处理权限。 是否可以使用 Cognito 做到这一点?我必须使用用户标签吗?或者有更好的方法来做到这一点?
非常感谢您的任何帮助或建议
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)