我正在聯合具有各種區域和極其細化的權限的應用程序。每個不同的區域都有一個聯合的WCF端點可以與服務器進行通信。由於細粒度的權限,包含所有權限的單個令牌可以大到1MB,也許更多。通過頒發令牌對STS進行身份驗證
要求規定在初始登錄過程之後,用戶的用戶名和密碼憑證不能保存在我們的代碼庫中。權限不能組合以創建更小的集合。我們正在爲我們的STS實施使用Thinktecture.IdentityServer。
我建議的解決方案是在STS中將每個端點分成它自己的領域,並且STS將返回一個具有爲該領域指定的權限聲明的標記。爲了達到這個目的,我希望有一個Auth領域,它通過用戶名/密碼進行身份驗證,並返回一個包含用戶,租戶和子組ID的令牌,然後可以將其用作向其他領域進行身份驗證的憑據。
設置STS發佈特定於領域的令牌已經實施。剩下的唯一要求是用戶名/密碼不在我們的代碼庫內。
是否可以通過提供先前從特定領域發佈的令牌來配置STS以允許進行身份驗證?有沒有更好的解決辦法,我沒有來過?
我假設這將工作,如果STS A === STS B,並會嘗試這一點。如果它可行,我會將其標記爲接受的答案。關於在RP上使用權限存儲,由於數據存儲需求,目前這是不實際的。 – psaxton