Swift 4 - Alamofire - Аутентифицировать NTLM работает с учетными данными недействительными

голоса
1

У меня возникли проблемы с AUTHENTICATE NTLM credenitals, когда я использую действительные учетные данные, он работает, но когда я использую недействителен он не подведет, он работает как же, как это было бы с действительными учетными данными. Это только в том случае, когда я вхожу действительные учетные данные первыми. Есть ли прочь очистить полномочие или что я делаю неправильно здесь? Вот мой код:

func loginUser(_ username: String, password: String, completion: @escaping (_ result: Bool) -> Void)
    {

        let user = username

        let password = password

        let url = webservice

        let credential = URLCredential(user: user, password: password, persistence: .none)

        let headers = [Accept: application/json;odata=verbose, Content-type: application/json;odata=verbose]

        Alamofire.request(url, method: .get, headers: headers).authenticate(usingCredential: credential).responseJSON {
                (response) in

                print(response.result)

                switch response.result {

                case .success:
                    if let value = response.result.value {

                        completion(true)

                    }else{

                        print(There is error in the server response)

                        completion(false)
                    }

                case .failure (let error):

                    print(The NTLM request error is: , error.localizedDescription)

                    completion(false)

                }

            }

    }

Одна вещь, которую я заметил, если я вхожу в силе кредитки, подождите несколько минут и ввести недопустимых это работает, как ожидалось.

Задан 13/01/2020 в 23:49
источник пользователем
На других языках...                            


1 ответов

голоса
0

.failureне возвращается на наличие ошибок HTTP. Вы должны смотреть на код ответа в .success случае для ответа HTTP, который указывает, что авторизацию не удалось.

Посмотрите здесь: Swift Alamofire: Как получить код состояния ответа HTTP для того, как сделать это.

Ответил 13/01/2020 в 23:55
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more