如何为 "Auth-Token" 的 Web 服务添加令牌认证?
How to add token authentication to web services for "Auth-Token"?
我是 Web 服务的新手,但我在 Visual Studio C# 中有一个 consuming/wrapping 的 Web 服务,它以 Service.asmx
结尾,我在 Add Service Reference
并引入了 Service.asmx?wsdl
.
中显示的所有元素
Username
和 Password
的 objects 工作正常,但现在创建此 Web 服务的公司正在更改为令牌身份验证,我在其中获取 GUID 令牌并通过这些元素为 null。
Web 服务不应该在我传递令牌的地方显示一个新元素吗?
我被告知令牌在 header 中通过字段名称 Auth-Token
传递。那么这是我应该做的显而易见的事情还是 WSDL 需要更新?
所以我找到了更多可能对其他人有帮助的信息。我将服务添加为 "Service Reference",这是更高级的 WCF,但它是一个 asmx
引用,它是 "Web Reference".
添加服务引用时,如果单击高级选项,则会出现使用 .Net 2.0 样式的旧 "Web Reference" 选项。
从那里,您只需选择您的代理 class 并覆盖 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;
}
我是 Web 服务的新手,但我在 Visual Studio C# 中有一个 consuming/wrapping 的 Web 服务,它以 Service.asmx
结尾,我在 Add Service Reference
并引入了 Service.asmx?wsdl
.
Username
和 Password
的 objects 工作正常,但现在创建此 Web 服务的公司正在更改为令牌身份验证,我在其中获取 GUID 令牌并通过这些元素为 null。
Web 服务不应该在我传递令牌的地方显示一个新元素吗?
我被告知令牌在 header 中通过字段名称 Auth-Token
传递。那么这是我应该做的显而易见的事情还是 WSDL 需要更新?
所以我找到了更多可能对其他人有帮助的信息。我将服务添加为 "Service Reference",这是更高级的 WCF,但它是一个 asmx
引用,它是 "Web Reference".
添加服务引用时,如果单击高级选项,则会出现使用 .Net 2.0 样式的旧 "Web Reference" 选项。
从那里,您只需选择您的代理 class 并覆盖 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;
}