【发布时间】:2017-12-17 23:51:18
【问题描述】:
这是一个理论上的问题,但我会尽量详细。我已经阅读了一堆关于 oath2/SSO 实现的文档(我知道它们不一样)——所以我需要超越实际的系统设计。所以这就是我认为 Oauth2 实现应该是什么样子的。 核心设计涉及一堆使用同一个授权服务器的微服务(我在这里称之为应用程序)。
据我了解,这些是身份验证服务器应该提供的端点。
授权服务器
- 应用程序注册的端点 -> 注册后,应用程序将提供一个客户端 ID 和客户端密码(这些基本上是永久性的 并且不要改变。
- 用户注册的端点 -> 此请求应带有客户端 ID 和客户端密码,以便授权服务器可以 将用户与应用关联。
- 用户登录的端点 -> 如果用户是授权用户,则为他/她提供访问令牌。
- 带有用户详细信息的端点 -> 如果授权应用程序(正确的客户端 ID 和密码)向授权用户(正确的访问权限)发出请求 token) 然后返回一个用户 blob。
资源服务器(应用)
现在资源服务器有了这些基本的用户数据,它可以 将 JSON 对象反序列化为自己的用户类,然后拥有 与 user_address/user_location 等的一对一映射。
这是我对 Oauth2-SSO 的理解。我非常感谢在粗糙的边缘提供一些帮助。蒂亚!!!
【问题讨论】: