9.4用WebApi去连接外部认证服务
原文链接:http://www.asp.net/web-api/overview/security/external-authentication-services
VS2013和Asp.Net4.5.1为单页面应用程序(SPA)和WebApi服务扩展了安全服务并与外部认证服务进行整合,其中包括几个OAuth/OpenID和社交媒体的身份验证服务进行集成的安全选项: 微软账户, Twitter, Facebook, 和谷歌。
结合外部认证服务
配置 IIS Express 使用完全限定的域名
如何获得 Microsoft 认证您的应用程序设置
可选:禁用本地注册
1.系统必备组件
1.VS2013
2.至少一个下面的外部身份验证服务帐户 ︰
谷歌用户帐户
开发人员帐户应用程序标识符和以下的社交媒体身份验证服务之一的密钥 ︰
微软账户 (http://go.microsoft.com/fwlink/?LinkID=144070)
Twitter (https://dev.twitter.com/)
Facebook (https://developers.facebook.com/)
2.使用外部身份验证服务
丰富的 web 开发人员帮助减低发展到当前可用的外部身份验证服务创建新的 web 应用程序时的时间。Web 用户通常有好几种现有账户为流行的 web 服务和社交媒体网站,因此当身份验证服务的外部 web 服务或社会媒体网站的 web 应用程序实现,它节省了将会用于创建身份验证执行的发展时间。使用外部身份验证服务将保存最终用户,不必创建另一个帐户为您的 web 应用程序,以及从不必记住另一个用户名和密码。
在过去,开发人员有两种选择 ︰ 创建他们自己的身份验证实现,或学习如何集成到其应用程序的外部认证服务。在最基本的层面,下面的图表说明一个简单的请求流从一个 web 应用程序配置为使用外部身份验证服务请求信息的用户代理(web 浏览器):
在前面的图中,用户代理 (或 web 浏览器在此示例中) 到 web 应用程序,将 web 浏览器中重定向到外部认证服务发出的请求。用户代理将其凭据发送到外部认证服务,和外部认证服务如果用户代理已成功通过身份验证,会将用户代理重定向与某种形式的令牌,用户代理将发送给 web 应用程序的原始的 web 应用程序。Web 应用程序将使用该标记来验证用户代理更有外部认证服务,已成功通过身份验证和 web 应用程序可能使用该标记来收集有关用户代理的详细信息。一旦应用程序完成处理用户代理信息,web 应用程序将返回到用户代理基于其授权设置适当的反应。
在这第二个示例中,用户代理谈判与 web 应用程序和外部授权服务器和 web 应用程序执行额外的通信与外部授权服务器以检索用户代理有关的其他信息 ︰
VS2013和 ASP.NET 4.5.1与外部认证服务的集成开发人员更轻松地进行通过提供内置集成用于以下身份验证服务︰
- 谷歌
- 微软帐户 (Windows Live ID)
- 推特
在本演练中的示例将演示如何配置每个支持的外部身份验证服务通过使用 Visual Studio 2013 的 ASP.NET Web 应用程序模板。
3.创建一个示例 Web 应用程序
以下步骤将引导您通过使用 ASP.NET Web 应用程序模板,创建完一个示例应用程序,您将使用此示例应用程序为每个外部认证服务在本演练后面。
从开始页启动 VS 2013 选择新项目。或者,从文件菜单中,选择新建和项目.