2011-04-09 152 views
1

我迷路了。我正在開發Windows Phone 7應用程序,並且我想要執行以下操作:在Windows Phone上使用ACS

我想使用Facebook,Live ID,Google和Yahoo讓用戶登錄我的應用程序。而且,它們沒有任何我需要在Windows Azure上實現註冊界面的帳戶。

我還需要存儲用戶在我的應用程序中籤名的一些ID。例如,Facebook會爲該用戶返回一個ID。但Google,Live ID和Yahoo!返回另一個ID。我將與這些列在用戶表存儲這樣的:

ID | Sing-IN-Type | ID-returned 

ID:Primarty關鍵。

Sing-IN-Type:帶有Facebook,Google等名稱的表的外鍵。

ID返回:由這些網站返回的ID。

我讀過關於ACS v2的信息,我不確定它是否符合我的要求。你怎麼看?

回答

2

的ACS團隊已經發布,演示如何使用Silverlight瀏覽控件來實現在手機應用程序聯合身份驗證樣本:

http://acs.codeplex.com/wikipage?title=ACS%20Windows%20Phone%20Sample&referringTitle=Samples

樣品不解析令牌提取要求你'之後,但它並不需要太多的代碼來做到這一點。

登錄後,應用程序將從ACS返回的令牌緩存在MainPage的成員RequestSecurityTresponseStore中。 DPE.OAuth項目中包含簡單Web令牌(SWT)處理程序,您可以使用該項目。在MainPage.xaml.cs中的情況下,代碼應該是這樣的:

SimpleWebToken swt = (SimpleWebToken)SimpleWebTokenHandler.GetTokenFromString(_rstrStore.SecurityToken); 

您應該然後找到IdentityProvider(型號)和的NameIdentifier(用戶ID)聲稱,ACS的swt.Parameters內​​部發出。

如果你想舉辦自己的自定義登錄頁面在這種情況下,ACS對提供的功能,以及:

http://msdn.microsoft.com/en-us/library/gg185963.aspx