簡體   English   中英

WebApi-將遠程表單身份驗證cookie添加到承載令牌-並將令牌提供回Angular客戶端

[英]WebApi - adding remote forms authentication cookie to bearer token - and serving token back to Angular client

我有以下站點:具有Angular的asp.net MVC站點(1)-> WebApi(2)->具有WCF和MVC服務混合的asp.net MVC遠程站點(3)

(1)Angular客戶端在新的“較輕” asp .net MVC站點中運行,並且應使用承載令牌從WebApi獲取數據。 將來的要求:單點登錄

(2)WebApi將成為未來的終結點。 但是到目前為止,舊站點(3)的后端很重,需要臨時解決方案。 繁重的后端將逐漸移至WebApi,而不再包含諸如Silverlight組件,Windows應用程序依賴項等。WebApi也是一個新設置,但通過/ token端點提供令牌。 我遵循了此指南: http : //bitoftech.net/2014/06/01/token-based-authentication-asp-net-web-api-2-owin-asp-net-identity/

(3)遠程asp.net MVC站點包含一堆WCF服務和一些用作api的MVC控制器。 WCF服務允許使用WebInvoke的HTTP json等。 它需要會話和表單身份驗證。 它以cookie響應。

我的問題是。 如何在WebApi控制器操作方法中使用HttpClient,如何將WebApi用作新MVC站點(1)和舊MVC站點(3)之間的中間層? 我假設我需要從舊站點(3)提取cookie,並將其作為自定義屬性或聲明添加到令牌中。 將令牌返回到新站點(1),然后讓Angular將令牌保存到瀏覽器中的本地存儲中。然后,Angular會在每次需要授權的WebApi(2)上將令牌發送給WebApi。 然后,WebApi控制器操作方法(2),將從令牌(cookie)中解包自定義數據,並根據請求將其發送到舊站點(3)。

我認為來自一個站點的cookie不能在另一個站點中使用。 如果您有權訪問site3用戶數據庫:1-在site1中具有令牌終結點,該終結點使用戶有效並返回令牌。 2-從site1(客戶端)調用令牌端點並獲取令牌。 3-將令牌添加到任何帶有授權承載頭的請求中。 希望有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM