如何将令牌身份验证添加到“身份验证令牌”的 Web 服务

本文关键字:身份验证 令牌 服务 Web 添加 | 更新日期: 2023-09-27 18:20:31

我是Web服务的新手,但我有一个Web服务,我正在使用/包装Visual Studio C#,它以我Add Service Reference Service.asmx结尾,它拉入了Service.asmx?wsdl中显示的所有元素。

它具有工作正常的UsernamePassword对象,但现在创建此 Web 服务的公司正在更改为令牌身份验证,我在其中获取 GUID 令牌并将 null 传递给这些元素。

那么 Web 服务不应该在我传递令牌的地方显示一个新元素吗?

有人告诉我,令牌在标头中传递,字段名称为 Auth-Token . 那么,这是我应该做的显而易见的事情,还是WSDL需要更新?

如何将令牌身份验证添加到“身份验证令牌”的 Web 服务

所以我找到了更多信息,这些信息可能会帮助其他人。 我将该服务添加为"服务参考",这是更高级的 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;
    }