【发布时间】:2017-03-24 17:50:28
【问题描述】:
使用 Azure AD 客户端凭据流时,如果客户端应用程序未被授予访问所请求资源的权限,oauth2 端点(azure ad 的)是否应该生成不记名令牌?我确信在这种情况下它曾经出错,但我现在看到了不同的行为(现在提供了一个有效的不记名令牌,即使客户端应用程序确实不有权访问资源应用程序)。
【问题讨论】:
标签: oauth-2.0 azure-active-directory
使用 Azure AD 客户端凭据流时,如果客户端应用程序未被授予访问所请求资源的权限,oauth2 端点(azure ad 的)是否应该生成不记名令牌?我确信在这种情况下它曾经出错,但我现在看到了不同的行为(现在提供了一个有效的不记名令牌,即使客户端应用程序确实不有权访问资源应用程序)。
【问题讨论】:
标签: oauth-2.0 azure-active-directory
在使用客户端凭据流时,我们始终允许令牌成为两个服务之间的问题。这种场景基本上是守护进程服务之间的 S2S。
这里需要注意的重要一点是,AAD 的内置授权模型利用了 SCP 和 ROLE 声明,它们出现在令牌中,可以帮助您的 API 了解用户授予的权限.
但是,在这种情况下,我们还希望允许您使用自己的授权层。例如,您可以简单地将客户端应用程序的 App ID 列入白名单,以允许它对您的 API 进行 S2S 调用,而令牌中不存在任何 ROLE 声明。此处的令牌发行行为启用了此场景。
【讨论】: