我們是一家服務提供商。假設在我們的應用程序中,我們最初有我們自己的用戶/角色管理。不同角色的用戶可以使用不同的功能。因此,當用戶登錄時,我們需要知道此用戶具有哪些角色,並準備適當的用戶界面。我們有管理員角色,具有此角色的用戶可以將角色分配給其他用戶。如何設置初始用戶/角色啓用SAML SSO
我們正在考慮爲我們的應用程序啓用SAML SSO,現在問題是我們如何爲每個用戶設置角色。
解決方案1,我們依靠IdP爲每個登錄用戶提供角色信息,角色信息可能與Assertion一起出現,但這可能不適用於所有IdP。
解決方案2,我們只從IdP中檢索用戶,並在我們自己的應用程序中管理角色。例如,當我們得到斷言時,我們檢索用戶名(或電子郵件地址),並與我們數據庫中的記錄匹配,如果它不存在,我們會自動爲此新用戶創建一個記錄。然後,我們依靠具有管理員角色的用戶爲該新用戶分配正確的角色。
現在的問題是第一位管理員來自哪裏?我們的客戶獲得我們的應用程序,並打開SAML SSO,現在數據庫中沒有用戶,那麼我們如何解決這種引導問題?有沒有什麼標準的方法?我們已經提出了不同的選擇,但不確定哪個更好,每個選項的關注點是什麼。
選項1,有一個默認的內置管理員用戶。有一個固定的本地登錄頁面,內置用戶可以在不通過IdP的情況下登錄(如果啓用SAML SSO,可以選擇打開/關閉它)
選項2,在SAML SSO設置期間,請求管理員用戶名,以便我們以管理員角色在我們的數據庫中自動創建此用戶。然後當這個用戶通過IdP登錄時,我們可以在我們的數據庫中找到他。
還有什麼其他的選擇?