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

相關文章
相關標籤/搜索