用户被要求同意每次Azure AD应用程序

时间:2016-11-03 20:08:43

标签: azure-active-directory

我有一个用Angular 2编写的Azure AD应用程序。该应用程序工作正常,因为我可以登录AD并获取访问权限。但问题是我每次登录时都会收到同意请求。这是请求的样子

        "https://login.microsoftonline.com/" + this.tenantId + "/oauth2/authorize?" +
        "response_type=id_token+token&" +
        "response_mode=fragment&" +
        "client_id=" + this.clientId + "&" +
        "redirect_uri=" + encodeURIComponent(window.location.href) + "/&" +
        "scope=openid&" +
        "state=" + this.state + "&" +
        "resource=" + encodeURIComponent(this.appuri) + "&" +
        "nonce=" + this.nonce;

这会将我发送到Azure登录屏幕,其中包含同意dialoag,如此

enter image description here

我点击接受,然后回到我想去的地方,一切都很棒。如果我再次登录,我会得到相同的提示。我需要在Azure AD端采取什么步骤来存储用户的同意?  这是清单中的东西吗?

1 个答案:

答案 0 :(得分:3)

您看到的同意屏幕是"管理员同意屏幕"只有在你通过" prompt = admin_consent"作为登录URL的查询字符串。

同时,如果您传递此查询字符串,则每次都会提示您同意该应用程序。相反,您希望确保只传递此查询字符串一次(用户第一次使用该应用程序),并且一旦获得同意,请确保您没有传递任何"提示"查询字符串。

我希望这能解决你的问题!