天青允許我們通過讓檢索註冊的身份提供者的列表:如何將身份提供者聲明值映射到Azure ACS中註冊的身份提供程序?
https://YourNamespace.accesscontrol.windows.net/v2/metadata/IdentityProviders.js?
protocol=wsfederation&
realm=YourAppRealm&
reply_to=YourAppReturnURL&
version=1.0
當我們一個用戶登錄得到身份提供商要求標識是用於驗證其供應商。
問題是IdentityProvider.js
資源沒有告訴我們哪個身份提供商聲稱將被使用。
例如:
- 的Windows Live ID使用要求值
uri:WindowsLiveID
- 谷歌使用要求值
Google
- 的ADFS身份提供者可能使用像
http://adfs.mycompany.com/adfs/services/trust
索賠值
我需要能夠映射到/來自身份提供商聲明值和由IdentityProviders.js
列出的身份提供商。
原因是我需要允許將權限分配給由特定身份提供者標識的用戶。爲了方便用戶,我想給他們一個可供選擇的身份提供者列表(即通過呈現從IdentityProviders.js
獲取的數據)。但是,實際分配必須使用身份提供者聲明值進行,因爲這是識別提供者的標識。
這可能嗎?有沒有解決方法?
任何幫助,將不勝感激!
有趣的問題!大聲思考 - 因爲你配置了通過ACS允許的身份提供者(換句話說,不允許任意身份提供者),你不能將這個映射存儲在你的數據庫中嗎?因此,如果聲明值作爲'uri:WindowsLiveID'返回,則可以將其映射到數據庫中的'Windows Live ID'。 –
是的,那是可能的。但是,我正在開發一個託管多個獨立實例(數據庫)的平臺,我希望儘量減少初始化/設置每個實例所需的工作量。所有/許多實例使用相同的ACS名稱空間,因此,如果我可以,例如在ACS中添加新的身份提供程序,而不必爲每個實例配置這個映射事情,那麼這將是一件好事... –
請參閱此方法是否有所幫助:http://stackoverflow.com/questions/15097275/passing-url-parameters-from-azure-acs-to-my-custom-identity-provider。 –