проблема с NTLM Auth(kotlin)

Столкнулся с проблемой к подключению к веб-сервису, на веб сервисе подключена сетевая аунтификация NTLM, искал информацию по этому вопросу, наткнулся на обсуждения Support NTLM auth, но честно говоря не разобрался как это использовать, пытался сделать через basic auth, но также ничего не вышло

class NtlmAuthenticator(private val username: String, private val password: String) :
            Authenticator {

            override fun authenticate(route: Route?, response: Response): Request? {
                val ntlmHeader = response.header("WWW-Authenticate") ?: return null

                if (ntlmHeader.contains("NTLM")) {
                    val credential = Credentials.basic(username,password)
                    return response.request.newBuilder()
                        .header("Authorization", credential)
                        .build()
                }
                return null
            }
        }

        val interceptor = HttpLoggingInterceptor()
        interceptor.level = HttpLoggingInterceptor.Level.BODY

        val client = OkHttpClient.Builder()
            .authenticator(NtlmAuthenticator("логин","пароль"))
            .addInterceptor(interceptor)
            .build()

Получал 401 код и все.

Может кто знает как это можно реализовать, я отправляю SOAP запросы, возможно в хедерах надо что то прописать? Я использую retrofit2 и okhttp3


Ответы (0 шт):