我正在检查 OAuth2,关于 On-Behalf-Of 流的一件事我不明白。流程如下所示: 我们有:
- 应用程序1(前端)
- 应用程序2(网络 API)
- App3(数据资源(另一个 Web API))
假设它们是这样设置的:
- App1 - 不公开任何 API;需要使用“App2Permission”的权限
- App2 - 公开“App2Permission”;需要使用“App3Permission”的权限
- App3 - 公开“App3Permisson”;不需要任何权限
现在,当用户转到 App1 时,它会将他重定向到 AAD 的登录页面 - 用户接受 App1 需要的“App2Permisions”。之后,App1 获得 App2 的访问令牌。App1 向 App2 发送请求(包括我刚才提到的访问令牌)。App2 收到这个请求,需要访问 App3 来获取实际数据。但是,它需要“App3Permission”——它是如何获得的?App2 不是能够向用户显示一些登录屏幕的交互式应用程序。