【问题标题】:Authorization bearer token with NEST elasticsearch and C#使用 NEST elasticsearch 和 C# 的授权不记名令牌
【发布时间】:2017-10-18 14:18:55
【问题描述】:

我在尝试连接到 elasticsearch API 时遇到问题。 API 需要不记名令牌,但 NEST 库仅提供基本身份验证,我还必须传递自定义标头。那么,有人必须面对这个问题吗?如何传递自定义标头?!

谢谢

【问题讨论】:

  • api在哪里与elastic连接。我假设不记名是 api 的令牌

标签: c# nest elasticsearch-net


【解决方案1】:

您可以在ConnectionSettings

上添加应添加到所有请求的标头
var pool = new SingleNodeConnectionPool(new Uri("http://localhost:9200"));
var connectionSettings = new ConnectionSettings(pool)
    .GlobalHeaders(new NameValueCollection 
    { 
        { "Authorization", "Bearer fnoi3nfion3fn00jr0j1r0" } 
    });

var client = new ElasticClient(connectionSettings);

【讨论】:

    【解决方案2】:

    其实我的概念有误。实际上,我正在与一个封装了 elasticsearch 的 API 进行交互,并且只使用 elasticsearch 查询 sintax,所以我不需要使用 Elasticsear 包 NEST 来连接它。我只需要通过一个简单的 http 调用与它进行交互。

    无论如何,谢谢拉斯

    【讨论】:

      【解决方案3】:

      您可以在请求中添加任何标头:

      req.Headers.Add("CustomeKey", CustomeData);
      

      【讨论】:

      • 我没有使用 httclient 或类似的东西。我正在使用 Elasticsearch 包 NEST,所以我可以使用它。你从哪里来的 req ???
      猜你喜欢
      • 1970-01-01
      • 2021-01-01
      • 2018-09-22
      • 2021-08-02
      • 2020-07-09
      • 2021-10-05
      • 1970-01-01
      • 2019-05-28
      • 2018-02-07
      相关资源
      最近更新 更多