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

本文涉及的产品
.cn 域名,1个 12个月
简介: 创建一个MVC的工程,在Startup.Auth.cs文件中,我们能看到这样的一些代码: 这其实是微软已经帮我们实现好的三方登录的接口,我们只需要创建相应的开发者账号,并在其中配置好跟我们应用程序相关的一些信息,获取到应用程序的Id跟密码,填到上面相应的接口中,即可实现相应账号的三方登录。

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

clip_image002

这其实是微软已经帮我们实现好的三方登录的接口,我们只需要创建相应的开发者账号,并在其中配置好跟我们应用程序相关的一些信息,获取到应用程序的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”

clip_image004

然后点击“Register your app”,成功登录你的Office365账号后,即完成App的注册工作。

clip_image006

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

clip_image008

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

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

clip_image010

访问权限设置完成后,可以看到相关的设置大致如下:

clip_image012

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

该Redirect URIs只填写我们的根域即可,同时可以注册多个不同的URI地址。

clip_image014

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

7、编写代码,大致内容如下:

clip_image016

四、支持MVC的开发工具

ComponentOne Studio ASP.NET MVC 这款轻量级控件,它与Visual Studio无缝集成,完全与MVC6和ASP.NET 5.0兼容,将大幅提高工作效率.

 

相关文章
|
7月前
|
开发框架 缓存 Cloud Native
微软发布 .NET 云原生开发框架—— .NET Aspire
微软于 2023-11-14日 发布了 .NET 8 的正式版。伴随着这个重要 .NET 版本的发布,微软也发布了一个全新的 .NET云原生开发框架 —— .NET Aspire,它提供了如下 3 个方面的能力,来帮助我们使用 .NET 开发分层、云就绪的可观测、本地与生产环境一致的分布式云原生应用程序。
401 0
|
2月前
|
安全 C# 开发者
.NET开源的一键自动化下载、安装、激活Microsoft Office利器
.NET开源的一键自动化下载、安装、激活Microsoft Office利器
111 5
|
2月前
|
前端开发 Java Maven
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
70 0
|
7月前
|
人工智能 编解码 Cloud Native
微软发布 .NET 8 开源开发平台:引入 PGO、AVX-512 支持,性能提升 20%
对企业来说特别重要的是,.NET 8 是一个长期支持 (LTS) 版本,这意味着它将获得三年的支持和补丁,而标准期限支持 (STS) 版本则是 18 个月。对于开发人员来说,特别重要的是 .NET 团队正在向期待已久的原生提前编译(NativeAOT)迈进 。
128 2
|
人工智能 安全 机器人
D1net阅闻 | 微软联合Tiktok母公司字节跳动合作开展AI项目
D1net阅闻 | 微软联合Tiktok母公司字节跳动合作开展AI项目
140 0
|
存储 前端开发 Java
Spring MVC 实战:三种方式获取登录用户信息
前言 Web 项目中,维持用户登录状态的常用方式有三种,分别是 Cookie、Session、Token,不管哪种方案,都需要获取到用户信息供业务层使用。
431 0
Spring MVC 实战:三种方式获取登录用户信息
|
设计模式 XML 存储
Android实战 | 详解MVC、MVP模式并分别实现登录界面案例
Android实战 | 详解MVC、MVP模式并分别实现登录界面案例
|
算法 安全 开发工具
微软:SHA-1 算法签名的.NET 框架 4 月 26 日将不再支持
微软:SHA-1 算法签名的.NET 框架 4 月 26 日将不再支持
119 0
微软:SHA-1 算法签名的.NET 框架 4 月 26 日将不再支持
|
安全 开发工具
微软:.NET 5.0 将于 2022 年 5 月 8 日终止支持
微软:.NET 5.0 将于 2022 年 5 月 8 日终止支持
198 0
微软:.NET 5.0 将于 2022 年 5 月 8 日终止支持
|
Cloud Native 安全 .NET
.NET 诞生 20 周年纪念日!微软发文庆祝
.NET 诞生 20 周年纪念日!微软发文庆祝
108 0
.NET 诞生 20 周年纪念日!微软发文庆祝