創建一個MVC的工程,在Startup.Auth.cs文件中,我們能看到這樣的一些代碼:
這其實是微軟已經幫我們實現好的三方登錄的接口,我們只需要創建相應的開發者賬號,並在其中配置好跟我們應用程序相關的一些信息,獲取到應用程序的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天的免費賬號,申請地址在:
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”
然后點擊“Register your app”,成功登錄你的Office365賬號后,即完成App的注冊工作。
此時點擊Web.config文件,即可看到我們注冊成功后獲取到的ClientID跟Password等信息。
如需要重新注冊該程序,只需要把Web.config文件中的ida:ClientID和ida:Password配置項刪除,然后再次Add Conencted Service時,會讓你重新注冊該程序。
4、在Office 365 APIs配置頁面中,選中相應的Service,點擊右面的“Permissions”,即可根據需要對該Service進行訪問權限的設置。
訪問權限設置完成后,可以看到相關的設置大致如下:
5、點擊Office 365 APIs配置頁面中的App Properties,我們可以設置App的一些屬性,包括該App注冊后顯示的名稱、該App可被訪問的范圍以及認證成功后的Redirect URIs,
該Redirect URIs只填寫我們的根域即可,同時可以注冊多個不同的URI地址。
6、安裝OpenIdConnect相關的組件包 Install-Package Microsoft.Owin.Security.OpenIdConnect。
7、編寫代碼,大致內容如下:
四、支持MVC的開發工具
ComponentOne Studio ASP.NET MVC 這款輕量級控件,它與Visual Studio無縫集成,完全與MVC6和ASP.NET 5.0兼容,將大幅提高工作效率.