如何在资源服务器中验证关于oauth2

时间:2016-09-05 15:12:49

标签: node.js login verify oauth2

我制作了资源服务器和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服务器中,此图表不是真实的方式,但资源服务器如何验证它?

2 个答案:

答案 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/