Swift 4 - SessionManager Alamofire всегда дает сбой - PullRequest
0 голосов
/ 14 января 2020

Я пытаюсь использовать SessionManager Alamofire для вызова API, требующего учетные данные. Причина, по которой я использую SessionManager, потому что я не могу отключить кэш простым запросом.

Вот мой код:

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"]

        let configuration = URLSessionConfiguration.default
        configuration.urlCache = nil
        let mySessionManager = Alamofire.SessionManager(configuration: configuration)

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

                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)

                }

            }

    }

Если я выполняю обычный запрос с учетные данные это работает, но проблема в том, что если я использую действительные учетные данные и сразу после ввода недействительных учетных данных пользователя, он говорит, что недействительные учетные данные действительны, поэтому я сделал несколько копаний, и было предложено использовать SessionManager, но это всегда не удается (с действительными или неверные учетные данные) Что я здесь не так делаю?

...