[英]Azure AD Login flow to SPA application require admin approval for first login only
我在公元 Azure 有一個 SPA 應用程序注冊和一個使用 msal-react 的基於反應的登錄流程。 是否有可能要求普通用戶僅在首次嘗試登錄該應用程序時才請求訪問該應用程序? 管理員批准后,不再需要再次請求。 我嘗試過的事情是:
prompt: "consent"
登錄請求 - 這可行,但是當管理員收到 email 並批准請求時,用戶會被要求再次請求,從而導致無限請求-> 批准循環。Admin Content Requests
Enterprise Applications -> Manage -> User Settings
Who can consent?
- Admins Only
(不確定這是否正確)。 此權限已添加到我的 SPA 應用程序中,但我尚未授予管理員同意(同樣,不確定這是否是正確的配置)通過上述配置,用戶可以自由登錄應用程序,根本看不到任何“請求管理員同意請求”彈出窗口。
我想要實現的目標有可能嗎? 如果是,我的配置中缺少什么? 任何幫助將非常感激! 謝謝!
編輯#1我已經通過 msal-react 在登錄請求中指定了 api://id/Test.Read scope
當管理員批准管理員同意請求時,他們通常會代表所有用戶授予同意,而不僅僅是代表請求訪問權限的用戶。
聽起來您正在尋找一種策略,每個用戶在使用應用程序之前都需要獲得批准(一次)。 這更多的是用戶訪問應用程序的授權問題,而不是應用程序代表用戶訪問 API 的授權(或用戶授予該授權的權限)。
您可以考慮以下選項:
prompt=consent
(作為一般規則,不要)scope=openid
(或scope=openid profile
等)通過上述配置,您將授予應用程序的授權(管理員同意)與用戶訪問應用程序的授權(需要分配)分開。 只有分配了該應用程序的用戶才能登錄該應用程序。 您可以選擇誰可以將應用程序分配給用戶,方法是在企業應用程序下讓他們成為應用程序的所有者(即應用程序服務主體的所有者),或者通過將應用程序分配給一個組並讓擁有該組的人來決定。
這種方法的主要缺點是,當前沒有內置的“單擊此處請求訪問權限”體驗,當用戶嘗試登錄應用程序但未分配給他們時。
作為此策略的一部分,您可能還對使用自助服務應用程序訪問功能感興趣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.