ASP.NET MVC中三方登录: 微软、谷歌、Office365
2015-05-19 10:17
204 查看
创建一个MVC的工程,在Startup.Auth.cs文件中,我们能看到这样的一些代码:
![](http://images0.cnblogs.com/blog/139239/201505/190933497449060.png)
这其实是微软已经帮我们实现好的三方登录的接口,我们只需要创建相应的开发者账号,并在其中配置好跟我们应用程序相关的一些信息,获取到应用程序的Id跟密码,填到上面相应的接口中,即可实现相应账号的三方登录。
1、一个应用程序只能配一个有效的根域名,并且该根域名不能是localhost,该根域会自动从你填写的Redirect URLs中进行判断填充。
2、三方登录用到的Redirect URL格式必须为http://www.rootDomain.com/signin-microsoft。其中HTTP协议、根域名以及端口号是可以自由配置的,后面的/signin-microsoft是固定不变的。
1、要实现谷歌三方登录,必须Enable Google+ API,其它需要的API可以自行添加。
2、谷歌的一个Client ID中,可以配置多个根域不同的Redirect URIs,并且可以是localhost。
3、三方登录用到的Redirect URL格式必须为http://www.rootDomain.com/signin-google。其中HTTP协议、根域名以及端口号是可以自由配置的,后面的/signin-google是固定不变的。
其次,微软没有为我们提供封装好的Office 365三方登录的接口,在这里我们可以使用OpenId身份验证来实现Office 365的三方登录。具体步骤包括以下几点:
1、拥有一个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。
2、下载Office Developer Tools for Visual Studio并安装,因为Office365的用户数据都放在Azure AD上,所以我们需要在Azure AD上注册我们的应用程序以获取用户数据,这个工具可以和Visual Studio集成,方便注册我们的应用程序,下载地址:http://aka.ms/OfficeDevToolsForVS2013。
3、使用VS创建一个MVC框架的Web Application,右键点击该工程,选择“Properties”,“Add”,“Connected Service”
![](http://images0.cnblogs.com/blog/139239/201505/190933568696537.png)
然后点击“Register your app”,成功登录你的Office365账号后,即完成App的注册工作。
![](http://images0.cnblogs.com/blog/139239/201505/190933583382552.png)
此时点击Web.config文件,即可看到我们注册成功后获取到的ClientID跟Password等信息。
![](http://images0.cnblogs.com/blog/139239/201505/190933599471609.png)
如需要重新注册该程序,只需要把Web.config文件中的ida:ClientID和ida:Password配置项删除,然后再次Add Conencted Service时,会让你重新注册该程序。
4、在Office 365 APIs配置页面中,选中相应的Service,点击右面的“Permissions”,即可根据需要对该Service进行访问权限的设置。
![](http://images0.cnblogs.com/blog/139239/201505/190934015418597.png)
访问权限设置完成后,可以看到相关的设置大致如下:
![](http://images0.cnblogs.com/blog/139239/201505/190934027444298.png)
5、点击Office 365 APIs配置页面中的App Properties,我们可以设置App的一些属性,包括该App注册后显示的名称、该App可被访问的范围以及认证成功后的Redirect URIs,
该Redirect URIs只填写我们的根域即可,同时可以注册多个不同的URI地址。
![](http://images0.cnblogs.com/blog/139239/201505/190934040256555.png)
6、安装OpenIdConnect相关的组件包 Install-Package Microsoft.Owin.Security.OpenIdConnect。
7、编写代码,大致内容如下:
![](http://images0.cnblogs.com/blog/139239/201505/190934077443159.png)
![](http://images0.cnblogs.com/blog/139239/201505/190933497449060.png)
这其实是微软已经帮我们实现好的三方登录的接口,我们只需要创建相应的开发者账号,并在其中配置好跟我们应用程序相关的一些信息,获取到应用程序的Id跟密码,填到上面相应的接口中,即可实现相应账号的三方登录。
一、微软账号三方登录介绍
微软的开发者账号管理地址为:https://account.live.com/developers/applications/index。微软三方登录开发者账号配置的一些说明:1、一个应用程序只能配一个有效的根域名,并且该根域名不能是localhost,该根域会自动从你填写的Redirect URLs中进行判断填充。
2、三方登录用到的Redirect URL格式必须为http://www.rootDomain.com/signin-microsoft。其中HTTP协议、根域名以及端口号是可以自由配置的,后面的/signin-microsoft是固定不变的。
二、谷歌账号三方登录介绍
谷歌的开发者账号管理地址为:https://console.developers.google.com/project。谷歌三方登录开发者账号配置的一些说明:1、要实现谷歌三方登录,必须Enable Google+ API,其它需要的API可以自行添加。
2、谷歌的一个Client ID中,可以配置多个根域不同的Redirect URIs,并且可以是localhost。
3、三方登录用到的Redirect URL格式必须为http://www.rootDomain.com/signin-google。其中HTTP协议、根域名以及端口号是可以自由配置的,后面的/signin-google是固定不变的。
三、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的三方登录。具体步骤包括以下几点:
1、拥有一个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。
2、下载Office Developer Tools for Visual Studio并安装,因为Office365的用户数据都放在Azure AD上,所以我们需要在Azure AD上注册我们的应用程序以获取用户数据,这个工具可以和Visual Studio集成,方便注册我们的应用程序,下载地址:http://aka.ms/OfficeDevToolsForVS2013。
3、使用VS创建一个MVC框架的Web Application,右键点击该工程,选择“Properties”,“Add”,“Connected Service”
![](http://images0.cnblogs.com/blog/139239/201505/190933568696537.png)
然后点击“Register your app”,成功登录你的Office365账号后,即完成App的注册工作。
![](http://images0.cnblogs.com/blog/139239/201505/190933583382552.png)
此时点击Web.config文件,即可看到我们注册成功后获取到的ClientID跟Password等信息。
![](http://images0.cnblogs.com/blog/139239/201505/190933599471609.png)
如需要重新注册该程序,只需要把Web.config文件中的ida:ClientID和ida:Password配置项删除,然后再次Add Conencted Service时,会让你重新注册该程序。
4、在Office 365 APIs配置页面中,选中相应的Service,点击右面的“Permissions”,即可根据需要对该Service进行访问权限的设置。
![](http://images0.cnblogs.com/blog/139239/201505/190934015418597.png)
访问权限设置完成后,可以看到相关的设置大致如下:
![](http://images0.cnblogs.com/blog/139239/201505/190934027444298.png)
5、点击Office 365 APIs配置页面中的App Properties,我们可以设置App的一些属性,包括该App注册后显示的名称、该App可被访问的范围以及认证成功后的Redirect URIs,
该Redirect URIs只填写我们的根域即可,同时可以注册多个不同的URI地址。
![](http://images0.cnblogs.com/blog/139239/201505/190934040256555.png)
6、安装OpenIdConnect相关的组件包 Install-Package Microsoft.Owin.Security.OpenIdConnect。
7、编写代码,大致内容如下:
![](http://images0.cnblogs.com/blog/139239/201505/190934077443159.png)
相关文章推荐
- ASP.NET MVC中三方登录: 微软、谷歌、Office365
- ASP.NET MVC中三方登录: 微软、谷歌、Office365
- 微软发布了ASP.NET MVC框架的第4个预览版本
- “.NET研究”专访微软MVP衣明志:走进ASP.NET MVC 2框架开发
- asp.net MVC 中 单点登录
- asp.net mvc 微软异步请求
- 一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之完成登录功能
- ASP.NET MVC网站使用新浪微博账号登录
- 微软发布ASP.NET MVC 1.0正式版
- Asp.net MVC 基于规则的权限设计(续)-- 扩展微软企业库安全模块
- 安装微软ASP.NET MVC 4,运行以下的包管理器控制台命令
- 推荐三篇文章,分别是关于微软企业库、ASP.NET MVC以及SEO优化
- Asp.net mvc验证用户登录之Forms实现详解
- ASP.Net MVC Filter验证用户登录
- ASP.NET MVC使用AuthenticationAttribute验证登录
- [视频]怎样提升asp.net mvc 软件的性能 - 微软免费视频Improving ASP.NET MVC Application Performance
- ASP.NET MVC 3.0:基于Ajax的表单提交,A页面认证失败后页面被强转至登录页面,待登录成功将如何回到A页面?
- AngularJS与ASP.NET MVC登录超时解决方案
- 【无私分享:从入门到精通ASP.NET MVC】从0开始,一起搭框架、做项目 登录界面前端样式和特效
- RSA实现登录页面密码加密(ASP.NET MVC)