簡體   English   中英

Web API-檢測客戶端域

[英]Web API - Detecting Client Domain

我正在使用C#和Web API構建一堆Web服務。 可從多個Web應用程序和多個本機應用程序訪問這些服務。 該應用程序管理授權域的列表和授權應用程序ID的列表(將與本機應用程序一起使用)。

我正在尋找一種檢測托管Web應用程序的域的方法,以便可以將該域名與我的授權域列表進行比較。 到目前為止,我在請求上下文中只能找到的屬性是定義客戶端/ Web應用程序正在調用的域的屬性,而這不是我想要的域。

例如:如果某個應用程序托管在externalapp.com上,並且正在api.myawesomeapi.com上向我的api發出請求,我想知道客戶端托管在externalapp.com上。 但是,在查看請求數據時,我發現的唯一信息是說客戶端正在“ api.myawesomeapi.com”上請求資源。

我希望來自本機應用程序(Android,iOS等)的請求不具有客戶端域,而來自網絡應用程序的請求具有客戶端域。 (客戶端域,主機域,無論其名稱如何)。

我查看了關於stackoverflow的其他文章,並找到了使用建議:Request.Headers.Referrer。 在我的情況下,所有Web應用程序都為空,本機應用程序也為空。 這似乎不是我的選擇。

您可以使用:

var referrer = Request.Headers.Referrer;
if (referrer!=null)
{
    string client = referrer.GetLeftPart(UriPartial.Authority);
}

暫無
暫無

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

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