我們持續前一篇的Windows Azure AD的後續應用,既然提到AD又提到應用程式,大家應該就會想到,要ASP.NET MVC使用Windows Azure AD驗證了,所以這篇,我們就來看看如何執行。
在開始前,我們可以先看下圖,了解整個的流程。
- 用戶請求,來了解要從哪裡去處理身份驗證的訪問權限,所以可以從這個步驟得知,要和Windows Azure AD進行驗證。
- 透過Windows Azure AD進行驗證,當然,Windows Azure AD那邊要去建立帳號。
- 一旦驗證成功,瀏覽器被重新導向,並且帶這個一個安全令牌(下面的圖形T)。
- 然後就拿這個個令牌(Token)進入應用程式。
Image source: http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx
基本上和Local的AD驗證差不多啦…那該怎麼做呢?其實很簡單…
首先,我們開啟一個新的ASP.NET MVC的專案,然後選擇變更驗證。
這邊,因為我們要使用的是Windows Azure AD,所以要選擇組織帳戶;接下來,選擇雲端-單一組織(因為小弟我也只有一個阿QQ);網域的部分,記得要Key Windows Azure AD的網域,小弟這邊因為自己有經過DNS處理了,不然預設的情況下通常是xxx.onmicrosoft.com;存取層級有一些選項可以選,因為我們只需要登入,所以選擇登入就好,如果想要讀寫等功能,可以選擇其他的選項;最後ID URI會自動建立,基本上不用去動( 這個到時候會自動在Windows Azure AD上建立,所以未來也可以自己重新改URI )
完成之後,就可以看到右下角有組織驗證的選項出現了。
是的,其實這樣就完成了… ( 吐菸 ),但實際上做了哪些事情勒!?….
首先,會於NuGet增加這個Microsoft Token validation的Libary。
然後會在Web.config加上 堆資訊。在Section那邊,加上了identityModel的東西,還有appSettings也加上了ida開頭的東西…
然後Golbal.asax也增加了IdentityConfig.ConfigureIdentity();還有底下名稱超長的方法。
此外,也起用了SSL。
處此之外,Windows Azure也自動地將此服務建立起來了。
當我們啟用MVC的時候,就可以發現,他自動地跳轉到登入的頁面。
登入之後,我們就可以從右上角看到,取得了帳號了!!
初步就先到這邊吧,下一篇,會介紹一下,如果已經有應用程式了,該怎樣啟動此功能!!