Swift 4 - Alamofire - Autenticación NTLM funciona con credenciales no son válidas

votos
1

Estoy teniendo un problema con credenitals NTLM Autenticar, cuando se utiliza credenciales válidas, funciona, pero cuando se utiliza credenciales no válidas no falla, funciona como el mismo como lo haría con credenciales válidas. Este es sólo el caso cuando entro credenciales válidas en primer lugar. ¿Hay distancia para borrar las credenciales o qué estoy haciendo mal aquí? Aquí está mi código:

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)

                }

            }

    }

Una cosa que me di cuenta, si entro en creds válidos, y espere unos minutos e introduzca los inválidos funciona como se esperaba.

Publicado el 13/01/2020 a las 23:49
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

.failureNo se devuelve para errores HTTP. Es necesario mirar el código de respuesta en el caso .success para la respuesta HTTP que indica que auth fallado.

Mira aquí: Swift Alamofire: ¿Cómo obtener el código de estado de respuesta HTTP de cómo hacerlo.

Respondida el 13/01/2020 a las 23:55
fuente por usuario

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