6

我已经编写了使用Azure Active Directory PowerShell V2创建了我的Azure Active Directory应用程序,并试图在我的单页应用程序(SPA)中使用隐式流来调用定义了应用程序角色的API。如何使用Azure Active Directory PowerShell V2授予权限

什么PowerShell命令,我需要使用的应用程序设置下复制在Azure的门户网站的“授予权限”按钮:

Grant Permissions Button ScreenShot from the Azure Portal

按照Docs

授使用ADAL.js单个页面应用程序(SPA)当前需要使用授予权限按钮的明确同意,因为访问令牌未经同意提示而被请求,如果未获得同意,将会失败。

另外,你如何判断权限是否被授予?该按钮始终可点击?如果你问我,可怕的用户体验。

+1

也许相关:https://docs.microsoft.com/en-us/powershell/azuread/v2/new-azureaduserapproleassignment – Hackerman

回答

2

此按钮实际上是在做管理员同意。这将同意租户中的所有用户。对于你的情况,如果你想避免Azure Portal,你可以在SPA中强制许可,而不是在PowerShell中。

要做到这一点,您的SPA应附加在身份验证请求&prompt=consent&prompt=admin_consent。前者应该在每次新用户第一次登录时应用,而后者则可以用一次(登录后用管理员帐户登录),并且会同意所有用户。

结帐understanding Admin and User Consent