Swift 4 - Alamofire - ověření pravosti NTLM pracuje s neplatných pověření

hlasů
1

Mám problém s autentizovat NTLM credenitals, když používám platná pověření, to funguje, ale když jsem použít neplatné pověření to bez problémů, to funguje jako stejné, jako to udělali s platným pověřením. To platí pouze v případě, když jsem zadat platná pověření jako první. Je tam daleko zrušte pověření, nebo to, co dělám špatně? Zde je můj kód:

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)

                }

            }

    }

Jedna věc, kterou jsem si všiml, když jsem zadat platné creds, počkejte několik minut a zadejte neplatné ty to funguje, jak se očekávalo.

Položena 13/01/2020 v 23:49
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

.failurenevrací chyby HTTP. Musíte se podívat na kód odezvy v .success případě pro odpovědi HTTP, který indikuje, že auth selhal.

Podívejte se zde: Swift Alamofire: Jak se dostat na stavový kód HTTP odpovědi na to, jak to udělat.

Odpovězeno 13/01/2020 v 23:55
zdroj uživatelem

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