建立一個MVC的工程,在Startup.Auth.cs文件中,咱們能看到這樣的一些代碼:app
這實際上是微軟已經幫咱們實現好的三方登陸的接口,咱們只須要建立相應的開發者帳號,並在其中配置好跟咱們應用程序相關的一些信息,獲取到應用程序的Id跟密碼,填到上面相應的接口中,便可實現相應帳號的三方登陸。框架
微軟的開發者帳號管理地址爲:https://account.live.com/developers/applications/index。微軟三方登陸開發者帳號配置的一些說明:dom
一、一個應用程序只能配一個有效的根域名,而且該根域名不能是localhost,該根域會自動從你填寫的Redirect URLs中進行判斷填充。工具
二、三方登陸用到的Redirect URL格式必須爲http://www.rootDomain.com/signin-microsoft。其中HTTP協議、根域名以及端口號是能夠自由配置的,後面的/signin-microsoft是固定不變的。google
谷歌的開發者帳號管理地址爲: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
首先要說的是,微軟有兩套帳號系統,一套稱做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天的免費帳號,申請地址在:
二、下載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」
而後點擊「Register your app」,成功登陸你的Office365帳號後,即完成App的註冊工做。
此時點擊Web.config文件,便可看到咱們註冊成功後獲取到的ClientID跟Password等信息。
如須要從新註冊該程序,只須要把Web.config文件中的ida:ClientID和ida:Password配置項刪除,而後再次Add Conencted Service時,會讓你從新註冊該程序。
四、在Office 365 APIs配置頁面中,選中相應的Service,點擊右面的「Permissions」,便可根據須要對該Service進行訪問權限的設置。
訪問權限設置完成後,能夠看到相關的設置大體以下:
五、點擊Office 365 APIs配置頁面中的App Properties,咱們能夠設置App的一些屬性,包括該App註冊後顯示的名稱、該App可被訪問的範圍以及認證成功後的Redirect URIs,
該Redirect URIs只填寫咱們的根域便可,同時能夠註冊多個不一樣的URI地址。
六、安裝OpenIdConnect相關的組件包 Install-Package Microsoft.Owin.Security.OpenIdConnect。
七、編寫代碼,大體內容以下: