繁体   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