0

我創建了兩個簡單的應用程序,一個是MVC網站,另一個是MVC API。這些網站從API中消耗了一些方法。將令牌從Web應用程序傳遞給api api(用戶認證)

我已經將Azure,'App Services',網站部署爲Web App,將Api作爲Api App部署。在這之前,我還沒有實現任何身份驗證,並且工作正常。

現在,我希望這兩個資源都使用身份驗證。因此,從Azure門戶網站啓用WebApp和ApiApp的身份驗證。 在Web應用程序我設置的值: 應用服務的身份驗證:ON 行動未通過身份驗證時要採取:登錄使用Microsoft帳戶 我配置了一個微軟帳戶

有關API應用程序我設置了相同的值與要採取的行動的例外,我將其設置爲'允許請求(無操作)'。在Api App代碼中,我在我的控制器上設置了[授權]屬性。

現在,當我轉到WebApp時,我被重定向到Microsoft帳戶登錄頁面,在那裏我可以登錄,並看到該應用程序。這很好。 但是,我無法以任何方式將這些憑據傳遞給我的Api應用程序。是否有可能創建(或獲取)令牌並將其傳遞給Api應用程序?所以在Api App中,我會自動進行身份驗證,並從那裏獲取我需要的用戶數據?

回答

1

您可以在webapi端使用OAuth進行基於承載令牌的身份驗證。配置你的web api來發布令牌。一旦在mvc應用程序中進行了身份驗證,請將身份的請求發送到api服務器 - grant_type = password & username = uname & password = pwd。一旦獲得令牌,您需要將其存儲在cookie /本地存儲中,然後在每次向web api發送請求時,都需要添加具有此令牌值的授權標頭。