[英]One Asp.Net Core Api Service for Multi-site
我只想為多個網站創建一個 Asp.Net Core API 服務。 它們幾乎相同,但內容不同。
我想知道哪個網站調用 API 來返回該網站的內容。
例如 :
網站一(angular client): http : //Game.medis.land
網站二(angular client):http: //Tech.medis.land
API(/api/getservices) => 返回所有服務(取決於調用 API 的站點,方法返回不同的值)
if Site-One call =>{"previews","reviews"}
如果第二站點調用 =>{"software","hardware"}
我應該如何管理? 我可以從請求頭中獲取 URL 嗎? 或者是其他東西?
有很多方法可以處理它:
1- ClientType :每個客戶端都應該介紹自己,例如客戶端B在所有請求中設置一個標頭鍵(例如: ClientType:client-b
),您可以確定您的客戶端。
2- Origin :您可以從請求標頭中讀取Origin
並通過其域確定客戶端,但我認為這不是一個好主意,因為域可能隨時更改。
3-Api 密鑰:您可以為每個客戶端生成唯一的密鑰( Guid
是一個不錯的選擇),客戶端應在所有請求標頭中設置其 api 密鑰(例如api-key: XXXXXXXX
),並在服務器端通過密鑰確定客戶端。
最后,我建議您在中間件中處理客戶端並將其與 http 功能一起傳遞給您的控制器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.