同意¶
在授权请求期间,如果 IdentityServer 需要用户同意,浏览器将被重定向到同意页面。
同意用于允许最终用户授予客户端对资源(identity 或 API)的访问权限。 这通常只对第三方客户端是必需的,并且可以在 客户端设置 上为每个客户端启用/禁用。
同意页面¶
为了让用户同意,托管应用程序必须提供同意页面。 快速启动 有一个同意页面的基本实现。
同意页面通常会呈现当前用户的显示名称, 请求访问的客户端的显示名称, 客户端的 Logo, 有关客户端的更多信息的链接 以及客户端请求访问的资源列表。 允许用户表明他们的同意应该被“记住”也是很常见的,这样以后就不会为同一客户端再次提示他们了。
一旦用户提供了同意,同意页面必须通知 IdentityServer 同意,然后浏览器必须重定向回授权端点。
授权上下文¶
IdentityServer 将一个 returnUrl 参数(可在 用户交互选项 上配置)传递到包含授权请求参数的同意页面。
这些参数提供同意页面的上下文,可以在 交互服务 的帮助下读取。
GetAuthorizationContextAsync
API 将返回一个 AuthorizationRequest
的实例。
可以使用 IClientStore
和 IResourceStore
接口获取有关客户端或资源的其他详细信息。