如何仅允许从资源服务器访问敏感数据? [OAuth OpenID]

时间:2018-04-30 19:29:01

标签: oauth oauth-2.0 openid

客户端收到有效的access_token,我想知道我是否可以使用OAuth2 / OpenID来实现:

  • 我不想要"客户"访问用户敏感信息,例如" contract_ID"例如。
  • 只有我的资源服务器才能访问此敏感信息以进行某些操作。

互联网上的许多例子表明/ userinfo请求是由"客户端"访问一些用户信息 那么如何只允许从ressourceserver访问/ userinfo?
ressourceserver有一个"访问令牌"在输入中。如何使用此access_token访问敏感信息而不允许"客户端"获取此信息?

我做了两个架构来解释:

1 个答案:

答案 0 :(得分:0)

Userinfo endpoint是您的身份提供商(IdP)提供的服务。它是OAuth规范的一部分 - http://openid.net/specs/openid-connect-core-1_0.html#UserInfo。它取决于IdP配置,在userinfo响应中公开了什么。

因此,不要在userinfo端点中公开contract_ID,而是创建一些API方法getcontractid,它将是经过身份验证/授权的API方法,它将从您的数据库中检索合同ID。 / p>