ASP.NET MVC中三方登錄: 微軟、谷歌、Office365


創建一個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兼容,將大幅提高工作效率.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM