【问题标题】:Using ACS with Windows Phone将 ACS 与 Windows Phone 一起使用
【发布时间】:2011-04-09 07:29:57
【问题描述】:

我迷路了。我正在开发一个 Windows Phone 7 应用程序,我想要执行以下操作:

我想使用 Facebook、Live ID、Google 和 Yahoo 让用户登录我的应用。而且,如果他们没有任何帐户,我将需要在 Windows Azure 上实现注册界面。

我还需要存储一些用户在我的应用中登录的 ID。例如,Facebook 返回该用户的 ID。但谷歌、Live ID 和 Yahoo!返回另一个 ID。我会将其存储在包含这些列的用户表中:

ID | Sing-IN-Type | ID-returned

ID:主键。

Sing-IN-Type:带有 Facebook、Google 等名称的表的外键。

ID-returned:这些网站返回的 ID。

我已阅读有关 ACS v2 的信息,但我不确定它是否符合我的要求。你怎么看?

【问题讨论】:

    标签: windows-phone-7 single-sign-on acs


    【解决方案1】:

    ACS 团队发布了一个示例,演示了如何使用 silverlight 浏览器控件在手机应用中实现联合身份验证:

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

    该示例不会解析令牌以提取您所追求的声明,但它不需要太多代码。

    登录后,应用程序将从 ACS 返回的令牌缓存在一个 RequestSecurityTresponseStore 中,它是 MainPage 的成员。您可以使用 DPE.OAuth 项目中包含的简单 Web 令牌 (SWT) 处理程序。在 MainPage.xaml.cs 的上下文中,代码如下所示:

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

    然后您应该找到 ACS 在 swt.Parameters 中发出的 IdentityProvider(登录类型)和 NameIdentifier(用户 ID)声明。

    如果您想在这种情况下托管自己的自定义登录页面,ACS 也为此提供了功能:

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

    【讨论】:

      【解决方案2】:

      您还可以从身份框架中查看hands on labs

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-25
        • 1970-01-01
        • 2011-12-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-08
        相关资源
        最近更新 更多