我在.net-core中构建了一个简单的POC应用程序,该应用程序将日志发送到通过Kerberos认证的Elasticsearch。
它工作正常,但始终执行两次往返。最初的401未经授权的响应,然后是带有适当Authorization:Negotiate标头的请求。我相信这是因为Elasticsearch尚不支持基于会话的授权。
我想删除最初的401往返行程,并立即发送一个Authorization标头。 .net-core的早期版本(Pre SocketHttpHandler)中提供了此预认证功能,并且可以与WinHttpHandler一起使用,但是在Linux上不起作用。
因此要解决所有问题,如何在不依赖.net-core的情况下生成Authorization:Negotiate标头?