我制作了资源服务器和auth服务器
但我不了解建筑
1.2。协议流程
+--------+ +---------------+
| |--(A)- Authorization Request ->| Resource |
| | | Owner |
| |<-(B)-- Authorization Grant ---| |
| | +---------------+
| |
| | +---------------+
| |--(C)-- Authorization Grant -->| Authorization |
| Client | | Server |
| |<-(D)----- Access Token -------| |
| | +---------------+
| |
| | +---------------+
| |--(E)----- Access Token ------>| Resource |
| | | Server |
| |<-(F)--- Protected Resource ---| |
+--------+ +---------------+
+--------+ +---------------+
| |--(A)------- Authorization Grant --------->| |
| | | |
| |<-(B)----------- Access Token -------------| |
| | & Refresh Token | |
| | | |
| | +----------+ | |
| |--(C)---- Access Token ---->| | | |
| | | | | |
| |<-(D)- Protected Resource --| Resource | | Authorization |
| Client | | Server | | Server |
| |--(E)---- Access Token ---->| | | |
| | | | | |
| |<-(F)- Invalid Token Error -| | | |
| | +----------+ | |
| | | |
| |--(G)----------- Refresh Token ----------->| |
| | | |
| |<-(H)----------- Access Token -------------| |
+--------+ & Optional Refresh Token +---------------+
我阅读了oauth2文件
我不明白,
access_token make在auth服务器中,此图表不是真实的方式,但资源服务器如何验证它?
答案 0 :(得分:0)
资源服务器如何验证令牌是否超出OAuth2规范的范围。现在,对于您的用例,您可以执行以下操作: 1.在Authz Server上提供内省端点,该端点验证令牌的真实性并使用该令牌的解码内容进行响应 2. Authz Server和Resource服务器使用证书机制在它们之间建立信任。在这里,您有两个选择: 一个。如果您希望Authz服务器处于控制状态,则Authz Server可以使用私钥对令牌进行签名,资源服务器可以使用AuthzServer提供的公共证书验证签名 湾相反,这里On Authz服务器上提供了上传资源服务器证书的条款,Authz服务器使用该证书对令牌进行签名,资源服务器使用它的私钥来验证内容。
答案 1 :(得分:0)
如果您想了解有关实际实现的更多信息,可以随时查看Thinktecture的代码:https://github.com/IdentityModel/Thinktecture.IdentityModel/tree/master/source
他们实现了一个完整的系统,然后被许多需要OAuth2系统的人使用。我也有一篇关于这个主题的文章,欢迎你查看它:https://eidand.com/2015/03/28/authorization-system-with-owin-web-api-json-web-tokens/