OAuth2 On-Behalf-Of - 用户如何接受中间层权限?
OAuth2 On-Behalf-Of - how does user accept middle-tier permissions?
我正在检查 OAuth2,有一点我不明白关于 On-Behalf-Of 流程。
流程看起来像这样:
我们有:
- App1(前端)
- App2(网络 API)
- App3(数据资源(另一个网站API))
假设它们是这样设置的:
- App1 - 不公开任何 API;需要许可才能使用 "App2Permission"
- App2 - 公开 "App2Permission";需要许可才能使用 "App3Permission"
- App3 - 公开 "App3Permisson";不需要任何权限
现在,当用户转到 App1 时,它会将他重定向到 AAD 的登录页面 - 用户接受 App1 要求的 "App2Permisions"。之后,App1 获得 App2 的访问令牌。 App1 向 App2 发送请求(包括我刚才提到的访问令牌)。 App2收到这个请求,需要访问App3获取实际数据。但是,它需要 "App3Permission" - 它是如何获得的? App2 不是能够向用户显示某些登录屏幕的交互式应用程序。
根据doc,在OAuth 2.0On-Behalf-Of流程中,middle-tier服务没有用户交互获取用户同意访问下游API (在你的情况下是 App3 )。
因此,授权下游 API 的选项作为身份验证过程中同意步骤的一部分预先呈现。
要了解如何为您的应用设置此项,请参阅 Gaining consent for the middle-tier application。
我正在检查 OAuth2,有一点我不明白关于 On-Behalf-Of 流程。 流程看起来像这样: 我们有:
- App1(前端)
- App2(网络 API)
- App3(数据资源(另一个网站API))
假设它们是这样设置的:
- App1 - 不公开任何 API;需要许可才能使用 "App2Permission"
- App2 - 公开 "App2Permission";需要许可才能使用 "App3Permission"
- App3 - 公开 "App3Permisson";不需要任何权限
现在,当用户转到 App1 时,它会将他重定向到 AAD 的登录页面 - 用户接受 App1 要求的 "App2Permisions"。之后,App1 获得 App2 的访问令牌。 App1 向 App2 发送请求(包括我刚才提到的访问令牌)。 App2收到这个请求,需要访问App3获取实际数据。但是,它需要 "App3Permission" - 它是如何获得的? App2 不是能够向用户显示某些登录屏幕的交互式应用程序。
根据doc,在OAuth 2.0On-Behalf-Of流程中,middle-tier服务没有用户交互获取用户同意访问下游API (在你的情况下是 App3 )。
因此,授权下游 API 的选项作为身份验证过程中同意步骤的一部分预先呈现。
要了解如何为您的应用设置此项,请参阅 Gaining consent for the middle-tier application。