ASP.NET MVC中三方登陆: 微软、谷歌、Office365

建立一个MVC的工程,在Startup.Auth.cs文件中,咱们能看到这样的一些代码:app

clip_image002

这实际上是微软已经帮咱们实现好的三方登陆的接口,咱们只须要建立相应的开发者帐号,并在其中配置好跟咱们应用程序相关的一些信息,获取到应用程序的Id跟密码,填到上面相应的接口中,便可实现相应帐号的三方登陆。框架

 

1、微软帐号三方登陆介绍

微软的开发者帐号管理地址为:https://account.live.com/developers/applications/index。微软三方登陆开发者帐号配置的一些说明:dom

一、一个应用程序只能配一个有效的根域名,而且该根域名不能是localhost,该根域会自动从你填写的Redirect URLs中进行判断填充。工具

二、三方登陆用到的Redirect URL格式必须为http://www.rootDomain.com/signin-microsoft。其中HTTP协议、根域名以及端口号是能够自由配置的,后面的/signin-microsoft是固定不变的。google

2、谷歌帐号三方登陆介绍

谷歌的开发者帐号管理地址为:https://console.developers.google.com/project。谷歌三方登陆开发者帐号配置的一些说明:spa

一、要实现谷歌三方登陆,必须Enable Google+ API,其它须要的API能够自行添加。blog

二、谷歌的一个Client ID中,能够配置多个根域不一样的Redirect URIs,而且能够是localhost。接口

三、三方登陆用到的Redirect URL格式必须为http://www.rootDomain.com/signin-google。其中HTTP协议、根域名以及端口号是能够自由配置的,后面的/signin-google是固定不变的。ip

3、Office 365三方登陆介绍

首先要说的是,微软有两套帐号系统,一套称做Microsoft Account,就是咱们所谓的微软帐号,登陆地址为:https://login.live.com/,或者使用地址https://www.outlook.com/,会进行自动跳转。另外一套称做Work or School Account,就是咱们所谓的Office 365,登陆地址为:https://login.microsoftonline.com/,或者使用地址https://outlook.office365.com/,也会进行自动跳转。开发

其次,微软没有为咱们提供封装好的Office 365三方登陆的接口,在这里咱们可使用OpenId身份验证来实现Office 365的三方登陆。具体步骤包括如下几点:

一、拥有一个Office365帐号,若是没有的话,能够申请一个30天的免费帐号,申请地址在:

https://portal.office.com/Signup/Signup.aspx?OfferId=8368ac6a-5797-4859-b2ec-4d32330277c9&dl=O365_BUSINESS&Country=US&culture=en-us&ali=1#0

二、下载Office Developer Tools for Visual Studio并安装,由于Office365的用户数据都放在Azure AD上,因此咱们须要在Azure AD上注册咱们的应用程序以获取用户数据,这个工具能够和Visual Studio集成,方便注册咱们的应用程序,下载地址:http://aka.ms/OfficeDevToolsForVS2013

三、使用VS建立一个MVC框架的Web Application,右键点击该工程,选择“Properties”,“Add”,“Connected Service”

clip_image004

而后点击“Register your app”,成功登陆你的Office365帐号后,即完成App的注册工做。

clip_image006

此时点击Web.config文件,便可看到咱们注册成功后获取到的ClientID跟Password等信息。

clip_image008

如须要从新注册该程序,只须要把Web.config文件中的ida:ClientID和ida:Password配置项删除,而后再次Add Conencted Service时,会让你从新注册该程序。

四、在Office 365 APIs配置页面中,选中相应的Service,点击右面的“Permissions”,便可根据须要对该Service进行访问权限的设置。

clip_image010

访问权限设置完成后,能够看到相关的设置大体以下:

clip_image012

五、点击Office 365 APIs配置页面中的App Properties,咱们能够设置App的一些属性,包括该App注册后显示的名称、该App可被访问的范围以及认证成功后的Redirect URIs,

该Redirect URIs只填写咱们的根域便可,同时能够注册多个不一样的URI地址。

clip_image014

六、安装OpenIdConnect相关的组件包 Install-Package Microsoft.Owin.Security.OpenIdConnect。

七、编写代码,大体内容以下:

clip_image016

相关文章
相关标签/搜索