如何将令牌身份验证添加到“身份验证令牌”的 Web 服务
本文关键字:身份验证 令牌 服务 Web 添加 | 更新日期: 2023-09-27 18:20:31
我是Web服务的新手,但我有一个Web服务,我正在使用/包装Visual Studio C#,它以我Add Service Reference
Service.asmx
结尾,它拉入了Service.asmx?wsdl
中显示的所有元素。
它具有工作正常的Username
和Password
对象,但现在创建此 Web 服务的公司正在更改为令牌身份验证,我在其中获取 GUID 令牌并将 null 传递给这些元素。
那么 Web 服务不应该在我传递令牌的地方显示一个新元素吗?
有人告诉我,令牌在标头中传递,字段名称为 Auth-Token
. 那么,这是我应该做的显而易见的事情,还是WSDL需要更新?
所以我找到了更多信息,这些信息可能会帮助其他人。 我将该服务添加为"服务参考",这是更高级的 WCF,但它是asmx
参考,即"Web 参考"。
添加服务引用时,如果单击高级选项,则会出现使用 .Net 2.0 样式的较旧的"Web 引用"选项。
从那里,您只需选择代理类并覆盖System.Net.WebRequest GetWebRequest
方法,如下所示:
protected override System.Net.WebRequest GetWebRequest(Uri uri)
{
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)base.GetWebRequest(uri);
request.Headers.Add("Auth-Token", this.authToken);
return request;
}