Я пытаюсь сделать вызов API Rest с обычной аутентификацией.Я могу сделать звонок успешно, но проблема в том, что, если я сообщу неверное имя пользователя и пароль во время разговора, то я также получаю успех в ответ.
Я попытался сделать поле логина и пароля пустым, но ответ об успехе получен.Я считаю, что это проблема кеширования.Код, который я пробую, выглядит следующим образом:
@IBAction func sampleButtonAction()
{
let headers = [
"cache-control": "no-cache"
]
let login = "XXXXX"
let password = "XXXXX"
let request = NSMutableURLRequest(url: NSURL(string: "https://Sample.com")! as URL,
cachePolicy: .reloadIgnoringLocalCacheData,
timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers
let config = URLSessionConfiguration.default
let loginData = String(format: "%@:%@", login, password).data(using: String.Encoding.utf8)!
let base64EncodedCredential = loginData.base64EncodedString()
let authString = "Basic \(base64EncodedCredential)"
config.httpAdditionalHeaders = ["Authorization" : authString]
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error!)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse!)
let responseData = String(data: data!, encoding: String.Encoding.utf8)
print(responseData!)
}
})
dataTask.resume()
}
Может кто-нибудь указать, что я делаю неправильно ?.Заранее спасибо.