什么是 OpenID 范围和声明?

信息安全 打开ID
2021-08-19 08:57:10

我需要在我们的 Web API 上实现 SSO,我正在阅读有关 OpenID 和 IdentityServer 的信息。这是我与 SSO、OAuth 和 OpenID 的第一次联系。

在演示电影中,我听到了很多关于范围和声明的内容,但演示者从未解释过每一个的实际含义。我去了官方网站并在那里搜索,但我没有找到术语的定义。

那么,究竟什么是范围,什么是声明?

2个回答

声明是关于用户的特定属性。Wiki 将其定义为“声明是一个主题(例如个人或组织)对自己或另一个主题的陈述。例如,该陈述可以是关于姓名、团体、购买偏好、种族、特权、协会或能力。 ”。

资料来源:维基

范围是客户端要访问某些资源的指示,您的服务器可能允许或拒绝此操作。Oracle - Oauth 范围

举个例子,在您的应用程序中,您的用户可能有姓名、电子邮件和公司名称——这些是您的声明。该客户端可能会请求访问您的 Web API 的管理控制器,这将是一个范围。在 SSO 环境中,它可以是其他应用程序,例如其他 API。

Google 使用范围来控制对数据传输/分析/广告 API 的访问 Google Oauth Docs

比上一个答案更具体:

范围:范围是一个以空格分隔的标识符列表,用于指定客户端应用程序请求的访问权限

声明:声明是包含一些信息的键值对,例如用户信息

有关更多详细信息,请参阅 - https://mannharleen.github.io/2020-03-11-id-access-tokens/#the-story-of-scopes--claims