Kur*_*ede 2 oauth multi-tenant azure-active-directory microsoft-graph-api
我们正在开发一个 Office 加载项,可使用 Azure AD 的组织帐户进行身份验证。该加载项需要管理同意。因此,如果管理员登录,应引导他表达管理同意。
我们使用 OAuth 进行身份验证:
https://login.microsoftonline.com/common/oauth2/authorize?response_type=id_token&client_id=<clientId>&redirect_uri=<redirectUri>
Run Code Online (Sandbox Code Playgroud)
我们通过附加&prompt=admin_consent到该 URL来请求管理员同意
问题1.我们如何测试管理员是否已成功同意,因此如果管理员之前没有同意,我们只需要求管理员同意即可?
问题 2. 我们如何检查加载项的更新版本现在是否可能需要更多权限,并告知用户和管理员该新要求?
是的,你可以这样做。您需要调用此 MS Graph 端点,并检查oAuth2PermissionGrant 对象中consentType设置为 的字段AllPrincipals。
使用Microsoft Graph,您可以确定是否已授予管理员同意。授予管理员同意后,应用程序上会写入 OAuth2.0 权限授予。
在每个权限授予中,都有一个字段指示授予的权限级别。对于管理员同意,您需要寻找AllPrincipals.
应用程序角色:Directory.Read.All&Directory.ReadWrite.All
委派权限:Diretory.Read.All、Directory.ReadWrite.All、 或Directory.AccessAsUser.All按从最低权限到最高权限的顺序。
这将返回一个oAuth2PermissionGrant 对象,其中包含您正在查找的详细信息。
consentType字段的响应。您可能需要枚举所有查找值的补助金AllPrincipals。| 归档时间: |
|
| 查看次数: |
2567 次 |
| 最近记录: |