2012-03-30 54 views
0

我正在嘗試在Azure中使用訪問控制服務。我大部分工作正常,我可以使用任何提供商登錄,但是我對WindowsLive提供商的索賠有問題。通過google提供商,我可以獲得諸如此人的姓名和他們的電子郵件地址等有用的信息。我爲WindowsLive提出了類似的聲明,但是我爲每一個聲明獲得相同的值。我試過來自Windows ID的每項聲明都會以同樣的方式返回

每一種

返回類似:oULpbTv2AMylPasgUOsLZAHjaBYtxldrU + gg3aS5nI4 =

現在我很確定這不是我的電子郵件地址,因爲它不適合放在我的名片上,我知道這不是我的名字,因爲我的母親不是威爾士人,並且不會支持我被命名,如果我是。

我按照http://robbincremers.me/2012/02/22/using-windows-azure-access-control-service-to-provide-a-single-sign-on-experience-with-popular-identity-providers/http://msdn.microsoft.com/en-us/library/gg185914.aspx的教程進行設置。

是否有某種方法可以從WindowsLive中獲取標識符以外的其他信息?也許這個問題與我沒有設置加密證書有關?

編輯:經過一番搜索,我發現Are any other claims available from Windows Live ID via the ACS 2.0 identity provider?這表明我試圖從WindowsLiveID獲取更多信息是一個無望的任務。我只會在用戶第一次登錄時提示用戶提供信息。

回答

0

Windows Live提供程序不會爲您提供唯一的providerId以外的任何內容。這對於您的應用程序和用戶的Windows Live ID是唯一的。谷歌是一個更好的,他們給你的用戶名稱,以及他們的電子郵件。

我解決這個問題的方法是,在我的應用程序中創建帳戶,我只是從用戶那裏收集任何我需要的信息,以及從索賠中提供的信息。因此,如果他們使用Google,那麼我會在我的「創建帳戶」表單上預先填寫他們的電子郵件和姓名。如果他們使用Windows,那麼表單字段只是空白,他們必須填寫必要的信息來完成創建他們的帳戶。它工作得很好。

+0

預填充是一個好主意,我沒有想到這一點。謝謝! – stimms 2012-03-31 21:00:49

相關問題