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