2017-06-13 50 views
1

我們有一個SharePoint發佈網站,其匿名訪問託管在互聯網上。根據最新的要求,我們需要爲門戶網站中的某些頁面實施用戶登錄(AzureAD,Microsoft個人和工作帳戶等)。哪個選項更好,Web API上的MSAL.js或OpenIdConnect nuget包

有,我們已經提出了兩種方法:

  1. 使用msal.js文件。在客戶端自行實現用戶登錄,並使用用戶令牌調用Partner Center Web API來檢查用戶的有效性,並執行所需的操作。
  2. 在Web API端使用Microsoft.Owin.Security.OpenIdConnect nuget包創建一個Web API,以實現登錄,並將其用於執行從後端檢索和修改數據所需的操作。

哪種方法在我們的方案中可能效果最好? 有沒有其他辦法可以達到這個目的?

回答

1

這兩種方法之間的區別在於他們正在使用不同的流與身份數據提供者進行集成。

使用服務器端代碼的第二種方法是使用授權流授權流,這是一種與標識數據提供者交互的標準流。

使用msal.js的第一種方法是使用隱式流。是爲使用JavaScript等腳本語言在瀏覽器中實現的客戶端而優化的簡化授權代碼流程。在隱式流程中,不是向客戶端頒發授權碼,而是直接向客戶端頒發訪問令牌。

更多詳細信息使用OAuth 2.0的流程在OAuth 2.0 Authorization Framework中定義。

+0

只需添加[這裏是](https://github.com/Azure-Samples/active-directory-javascript-singlepageapp-dotnet-webapi-v2)一個使用MSAL.js的好例子。 –