OAuth2实施

时间:2017-12-17 23:51:18

标签: oauth oauth-2.0

这是一个理论问题,但我会尽量详细说明。我已经阅读了一些关于oath2 / SSO实现的文档(我知道它们不一样) - 所以我需要超越手工波浪到实际的系统设计。所以我认为Oauth2实现应该是这样的。 核心设计涉及一堆微服务(我在这里称之为app),它们都使用相同的授权服务器。

据我所知,这些是auth服务器应该提供的终点。

  

授权服务器

     
      
  1. 应用注册的终点 - >一旦注册,应用程序将提供客户端ID和客户端密钥(这些基本上是永久性的   并且不要改变。
  2.   
  3. 用户注册的端点 - >此请求应附带客户端ID和客户端密钥,以便授权服务器可以   将用户与应用相关联。
  4.   
  5. 用户登录的终端 - >如果用户是授权用户,则向他/她提供访问令牌。
  6.   
  7. 包含用户详细信息的端点 - >如果授权的应用程序(正确的客户端ID和密码)向授权用户发出请求(正确访问)   令牌)然后返回用户blob。
  8.         

    资源服务器(App)

         

    现在资源服务器可以拥有此基本用户数据   将JSON对象反序列化为自己的用户类,然后具有   一对一映射到user_address / user_location等。

这是我对Oauth2-SSO的理解。我非常感谢粗糙边缘的一些帮助。 TIA !!!

1 个答案:

答案 0 :(得分:1)

我自己还没有实现oath2,但我使用的系统确实使用了它,你描述的内容似乎与我们使用的相同;

我们使用端点和客户端密钥和ID初始化客户端,然后使用我们用户的凭据获取令牌(如果用户/客户端凭据无效,则使用错误消息)。从那里我们使用应用程序的端点来调用我们的应用程序。从我可以看到我们的Oauth2方法似乎做你在你的问题中描述的,它应该是正确的。