我正在检查OAuth2,关于代理流有一件我不了解的事情。 流看起来像这样: 我们有:
假设他们的设置是这样的:
现在,当用户转到App1时,它将其重定向到AAD的登录页面-用户接受App1所需的“ App2Permisions”。之后,App1获取App2的访问令牌。 App1向App2发送一个请求(包括我刚才提到的访问令牌)。 App2收到此请求,需要访问App3以获取实际数据。但是,它需要“ App3Permission”-如何获得它? App2不是能够向用户显示一些登录屏幕的交互式应用程序。
答案 0 :(得分:2)
根据doc,在OAuth 2.0 On-Behalf-Of流中,中间层服务没有用户交互才能获得用户同意访问下游API(在您的情况下为App3)。
因此,在身份验证过程中,作为同意步骤的一部分,预先显示了授予对下游API的访问权限的选项。
要了解如何为您的应用设置此设置,请参见Gaining consent for the middle-tier application。