Swift 4 - fonctionne Authentifier NTLM avec des informations d'identification non valides - Alamofire

voix
1

J'ai un problème avec credenitals NTLM authentifient, lorsque j'utilise des informations d'identification valides, cela fonctionne, mais quand j'utilise les informations d'identification non valides, il ne manque pas, il fonctionne comme même comme il le ferait avec des informations d'identification valides. Ceci est seulement le cas quand j'entrer des informations d'identification valides en premier. Est-il loin pour effacer les informations d'identification ou de ce que je fais mal ici? Voici mon code:

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)

                }

            }

    }

Une chose que j'ai remarqué, si j'entre creds valides, puis attendez quelques minutes et entrez les invalides fonctionne comme prévu.

Créé 13/01/2020 à 23:49
source utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

.failuren'est pas retourné pour les erreurs HTTP. Vous devez regarder le code de réponse dans le cas .success pour la réponse HTTP qui indique que auth a échoué.

Regardez ici: Swift Alamofire: Comment obtenir le code d'état de réponse HTTP pour savoir comment faire.

Créé 13/01/2020 à 23:55
source utilisateur

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