阅读 Open Id 文档后,我有一些疑问。任何帮助都感激不尽。
遵循任何oidc 流程,您都会获得一个 id_token 和一个 access_token。
a) 当您将 access_token 发送到受保护的 api 时,为什么或何时(示例)需要检索有关拥有它的用户的一些声明?也许受保护的 api 想要使用有关经过身份验证的用户的一些数据?
b) 为了获得声明,受保护的 api 需要与 UserEdnpoint 端点通信?它发送access_token?哪些声明包含在返回的 id_token 中?/ 如果它要求更多声明用户具有同意访问权限,会发生什么?
c) 身份服务器 4:您定义要保护的资源。它们可以是“身份资源”和“api 资源”。在定义 ApiResources 时,您可以在细粒度范围内定义。例如:
Scopes =
{
new Scope()
{
Name = "weather.api.full_access",
DisplayName = "Full access to WEATHER API",
},
new Scope
{
Name = "weather.api.read_only",
DisplayName = "Read only access to WEATHER API"
}
}
Run Code Online (Sandbox Code Playgroud)
您还定义了客户端,以及他们有权访问的范围。您如何指定哪些用户可以访问特定资源?我不知道您将如何映射使用同一客户端的用户的特定权限。
步骤将是:
非常感谢!!