在应用程序中使用Microsoft Account

Windows 8 的一个中心主题便是微软账户(Microsoft Account)。这是向用户提供单点登陆的又一次尝试,该功能不仅适用于微软的服务,还可以用于第三方服务。在此之前,微软还有过很多这样的尝试,比如Microsoft Wallet、Microsoft Passport、.NET Passport、Microsoft Passport Network和 Windows Live ID。这些产品之间的关系是混乱的,品牌众多不说,技术也一直在改变,但是他们却有着一个相同的目标:留住那些不想新建用户名和密码的潜在客户。

一个Windows 8应用程序在启动时会请求认证令牌和访问令牌。认证令牌用来核实用户账户,而访问令牌则用于获取用户信息。通过微软账户,用户还可以自动登录那些实现了微软账户SDK的网站。

对于那些已经拥有认证系统的网站来说,微软账户仍然是有益的。由于此时不存在个人信息,微软账户提供了一个用户ID。通过跟踪这个用户ID,当用户正式登陆时,网站可以更方便地为用户进行个性化设置。

对于高级情形,可以使用Live SDK 来获取用户的SkyDrive和社交网络的账户信息。此时的访问控制可以通过OAuth 2.0或者Live Connect REST API实现。通过在Windows 8、Windows Phone、Android、iOS和.NET上使用客户端SDK,这个过程将更加简单。和其他基于OAuth的服务一样,用户需要显式地为应用开启权限以访问微软数据。

OAuth系统的另一个常用的功能特点是,需要提供一个只有该应用才知道的“秘密”。这主要用于解密来自微软服务器的信息。移动开发者倾向于将此放在应用程序中,但这是非常危险的。相反,这些数据应该存放在服务器上以供应用程序访问。 微软账户并没有和其他单点登陆系统整合,比如Windows Active Directory或者Facebook Connect。

更多关于微软账户的信息,请观看Shelly Guo的 Powering your apps with Microsoft Accounts 。

原文链接:http://www.infoq.com/news/2012/11/Microsoft-Accounts

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至[email protected]。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

你可能感兴趣的:(在应用程序中使用Microsoft Account)