2011-04-09 154 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