簡體   English   中英

一種用於多站點的 Asp.Net Core Api 服務

[英]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","re​​views"}

如果第二站點調用 =>{"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.

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