我正在嘗試爲企業場景實現IdentityServer 4。我們可以限制身份服務器4中的用戶使用特定的應用程序嗎?
我知道用戶是通過身份服務器註冊的。
我的問題是如何爲用戶提供對應用程序的權限,例如用戶需要分配給特定的應用程序,如果未分配的應用程序應該返回未授權。
如果用戶需要訪問多個應用程序,則需要多個分配。
我正在尋找一種方法來使Identity Server無效提交的令牌,如果用戶一次無法訪問應用程序,即使受到挑戰的令牌可能是有效的,如果它是由其他應用程序提交的用戶有權訪問
我正在嘗試爲企業場景實現IdentityServer 4。我們可以限制身份服務器4中的用戶使用特定的應用程序嗎?
我知道用戶是通過身份服務器註冊的。
我的問題是如何爲用戶提供對應用程序的權限,例如用戶需要分配給特定的應用程序,如果未分配的應用程序應該返回未授權。
如果用戶需要訪問多個應用程序,則需要多個分配。
我正在尋找一種方法來使Identity Server無效提交的令牌,如果用戶一次無法訪問應用程序,即使受到挑戰的令牌可能是有效的,如果它是由其他應用程序提交的用戶有權訪問
IdentityServer僅用於身份驗證。授權應由您的應用程序處理。
認證=驗證誰用戶是
授權=驗證了用戶可以做
正如斯科特說,身份服務器將驗證用戶是他們說他們是誰,沒有明確地告訴你該用戶可以做什麼。
您可以使用返回的聲明作爲該身份驗證的一部分,然後在您的應用程序中執行授權檢查。例如,您可以使用sub
或id
聲明來執行應用程序中的檢查,以確定與該子/ id相關聯的用戶是否被允許訪問特定資源。
當您將role
聲明帶入圖片時,水變得有點混亂,但只要您認識到認證和授權之間的區別,您應該可以。
我們如何連接應用程序和身份服務器的數據庫以對子或ID執行授權?除了用戶訪問驗證,所有授權都可以通過使用聲明來執行? –
這取決於你如何管理你的用戶。在我們的情況下,我們有一個組件作爲我們的身份提供者(使用ASP.NET Identity),這可以由我們的身份服務器(用於驗證和發佈令牌)和我們的應用程序(用於創建/編輯用戶以及授權訪問) – Mashton
感謝您的回覆,如果我沒有錯,在身份服務器的範圍提供授權只是正確的?我讀了身份服務器在OpenID連接上實現,它也具有授權流程 –
幾乎。範圍是客戶端應用程序允許請求的內容。不一定允許用戶訪問什麼。應用程序到應用程序的權限再次由這些應用程序處理,您可以要求某些API範圍,但這將再次由應用程序完成。 –
斯科特,你有什麼更好的想法,我們如何連接應用程序和身份服務器的數據庫來執行對子或ID的授權?除了用戶訪問驗證,所有授權都可以通過使用聲明來執行? –