如何只允许从资源服务器访问敏感数据? [OAuth OpenID]
How to allow access to sensitive data only from ressource server ? [OAuth OpenID]
一个客户收到一个有效的 access_token,我想知道我是否可以用 OAuth2/OpenID:
- 我不想 "client" 访问用户敏感信息,例如 "contract_ID"。
- 只有我的资源服务器可以访问此敏感信息以进行某些操作。
互联网上的许多示例表明,/userinfo 请求是由 "client" 完成的,用于访问一些用户信息。
那么如何只允许从 ressourceserver 访问 /userinfo 呢?
资源服务器有一个 "access token" 输入。如何在不允许 "client" 访问此信息的情况下使用此 access_token 访问敏感信息?
我做了两个模式来解释:
- My fear, I don't want it
- I want it
Userinfo endpoint
是您的身份提供商 (IdP) 提供的一项服务。它是 OAuth 规范的一部分 - http://openid.net/specs/openid-connect-core-1_0.html#UserInfo。这取决于 IdP 配置,即 userinfo 响应中公开的内容。
因此,不要在 userinfo 端点中公开 contract_ID
,而是创建一些 API 方法 getcontractid
,这将是 authenticated/authorized API 方法和它将从您的数据库中检索合同 ID。
一个客户收到一个有效的 access_token,我想知道我是否可以用 OAuth2/OpenID:
- 我不想 "client" 访问用户敏感信息,例如 "contract_ID"。
- 只有我的资源服务器可以访问此敏感信息以进行某些操作。
互联网上的许多示例表明,/userinfo 请求是由 "client" 完成的,用于访问一些用户信息。
那么如何只允许从 ressourceserver 访问 /userinfo 呢?
资源服务器有一个 "access token" 输入。如何在不允许 "client" 访问此信息的情况下使用此 access_token 访问敏感信息?
我做了两个模式来解释:
- My fear, I don't want it
- I want it
Userinfo endpoint
是您的身份提供商 (IdP) 提供的一项服务。它是 OAuth 规范的一部分 - http://openid.net/specs/openid-connect-core-1_0.html#UserInfo。这取决于 IdP 配置,即 userinfo 响应中公开的内容。
因此,不要在 userinfo 端点中公开 contract_ID
,而是创建一些 API 方法 getcontractid
,这将是 authenticated/authorized API 方法和它将从您的数据库中检索合同 ID。