【问题标题】:How to add token authentication to web services for "Auth-Token"?如何将令牌身份验证添加到“Auth-Token”的 Web 服务?
【发布时间】:2015-11-04 21:37:52
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# web-services soap wsdl asmx


    【解决方案1】:

    所以我想出了更多可能对其他人有所帮助的信息。我将服务添加为“服务参考”,这是更高级的 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;
        }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    • 2013-03-07
    • 2014-06-21
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 2021-01-26
    相关资源
    最近更新 更多