Swift 4 - Alamofire - Authenticate NTLM werkt met ongeldige credentials

stemmen
1

Ik heb een probleem met authenticate NTLM credenitals, wanneer ik geldige referenties, het werkt, maar wanneer ik ongeldige geloofsbrieven het niet falen, het werkt als hetzelfde als het zou doen met geldige referenties. Dit is alleen het geval als ik geldige referenties eerste. Is er weg naar de geloofsbrieven wissen of wat doe ik hier verkeerd? Hier is mijn 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)

                }

            }

    }

Een ding dat ik merkte, als ik voer geldig creds, wacht dan een paar minuten en voer ongeldige die het werkt zoals verwacht.

De vraag is gesteld op 13/01/2020 om 21:49
bron van user
In andere talen...                            


1 antwoorden

stemmen
0

.failureis niet terug voor HTTP-fouten. Je moet kijken naar de respons code in het .success geval voor de HTTP response dat auth niet aangeeft.

Kijk hier: Swift Alamofire: Hoe de HTTP response status van code te krijgen voor hoe dat te doen.

antwoordde op 13/01/2020 om 21:55
bron van user

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