如何在资源所有者的 OpenID Connect 授权端点中没有同意页面?
How to not have consent page in OpenID Connect Authorize Endpoint for Resource Owner?
当我拥有资源所有者授权类型时,我从不需要处理同意页面,但现在我正在尝试使用 OpenID Connect 为我的系统创建 SSO,我感到非常困惑。 /authorize
端点始终显示 public api(Facebook、Google 等)的同意书,因为这曾经是最常用于 public api 的端点。
使用 OpenID Connect,/authorize
端点似乎在进行身份验证和授权,那么我应该如何处理同意页面。我唯一的想法是检查客户是否有授权类型 password
,如果有,请不要显示同意书,只需使用 authorized = true
继续请求。这是正确的方法吗?规范中没有写任何关于它的内容(或者至少我没有看到任何关于它的内容)。
如 https://www.rfc-editor.org/rfc/rfc6749#section-4.3 中所述,对于资源所有者密码凭据授权,用户凭据出现在对令牌端点的调用中,而不是授权端点。后者仅用于授权码授予。
将授权请求发送回客户端后,授权服务器可以自行决定是否显示同意屏幕以发布信息。根据规范,授权服务器应该在消费者场景中呈现它,但可以选择在企业场景中禁用它。这将是在授权服务器中配置的特定于实现的选项。
当我拥有资源所有者授权类型时,我从不需要处理同意页面,但现在我正在尝试使用 OpenID Connect 为我的系统创建 SSO,我感到非常困惑。 /authorize
端点始终显示 public api(Facebook、Google 等)的同意书,因为这曾经是最常用于 public api 的端点。
使用 OpenID Connect,/authorize
端点似乎在进行身份验证和授权,那么我应该如何处理同意页面。我唯一的想法是检查客户是否有授权类型 password
,如果有,请不要显示同意书,只需使用 authorized = true
继续请求。这是正确的方法吗?规范中没有写任何关于它的内容(或者至少我没有看到任何关于它的内容)。
如 https://www.rfc-editor.org/rfc/rfc6749#section-4.3 中所述,对于资源所有者密码凭据授权,用户凭据出现在对令牌端点的调用中,而不是授权端点。后者仅用于授权码授予。
将授权请求发送回客户端后,授权服务器可以自行决定是否显示同意屏幕以发布信息。根据规范,授权服务器应该在消费者场景中呈现它,但可以选择在企业场景中禁用它。这将是在授权服务器中配置的特定于实现的选项。