[英]Bearer and Cookie Authentication
我有兩個Web項目:MyApp和Api.MyApp。 MyApp是MVC5應用程序,而Api.MyApp是MVC WebAPI應用程序。
MyApp是一個富客戶端應用程序,它為大多數操作調用API項目。 為了獲得授權,我在Web api上使用了Bearer令牌,但我也想擁有一個cookie,以便可以保護MyApp MVC主項目中的某些路由。
要獲取承載令牌,我可以調用“ http://api.myapp/token ”,我可以將此承載令牌放入cookie並讓MVC項目識別它,還是必須發送2個單獨的調用,其中1個要發送給api才能獲取承載令牌和1到mvc應用程序以獲取cookie。 這似乎有點多余,是否有更好的方法?
是。
假設您的應用程序對以下內容做出響應:
用戶訪問了您在www.example.com上的網站並提供了憑據。 然后,您的應用將對api.example.com進行AJAX調用以獲取令牌。 您現在有幾個選擇:
.example.com
.example.com
的cookie。 如果執行此操作,則API和客戶端應用程序都應有權訪問基於cookie的令牌。
如果不使用.Net身份驗證令牌,則可能必須基於承載cookie滾動自己的授權機制。
但是,如果您使用的是Intranet類型的域(即http://myapp/
和http://api.myapp
),則必須使用選項2,並將默認域用於Cookie(您無法設置Cookie,該域名在域中只有一個句點,否則我可以將其設置為“ .com”並在各處散布數據。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.