无需代码回发的多租户Microsoft图形应用程序管理员同意

时间:2020-08-27 13:04:14

标签: oauth-2.0 microsoft-graph-api

我们有一个多租户图应用程序,并且遇到了一些意外的行为。

当第一个用户(非管理员和来自其他租户)想要连接到(企业)应用程序时,他登录并收到消息“需要管理员批准”。这是正常现象,因为所需的权限要求这样做。

假设用户知道管理员的登录/密码,他单击“拥有管理员帐户,使用该帐户登录”,然后以管理员身份登录并批准同意。

但是随后为该管理员帐户生成了一个代码,并将其发布回我的初始应用程序(网站)。导致用户拥有管理员的访问令牌(在我们的情况下,该用户没有SPO,因此导致我们的应用失败)。

我的非常简单的问题:我如何才能只使用管理员帐户同意该应用程序,而又没有流程将该管理员的代码回发到redirect-url。

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

好的,我想我的问题解决了。在我们的设置中激活应用后,我们可以将管理员定向到以下网址:

https://login.microsoftonline.com/(tenantid)/v2.0/adminconsent?client_id=(clientid)&state=12345&redirect_uri=(redirecturl)&scope=(permissions)

我们将被重定向,就像收到令牌一样,但是重定向URL中也包含状态,我们可能会使用它向用户显示另一条消息。