Я захожу на сервер, используя учетные данные, которые передаются в параметре request
, например: https://server.i.connect.to/login&username=user&password=pass
.Все работает нормально, если учетные данные верны.Если я затем изменю учетные данные на что-то недействительное, reponse
возврат из dataTask будет таким же - я получу доступ, несмотря на то, что переданные учетные данные недействительны.Я понятия не имею, запускается ли это поведение на стороне клиента (моей) или на стороне сервера.Кроме того, я не знаю, как проверить, какая сторона несет ответственность.
Я пытался отключить кэш URL, но безуспешно.Мне все еще удавалось войти в систему с неправильными учетными данными.
let urlSessionConfig = URLSessionConfiguration.default
urlSessionConfig.requestCachePolicy = .reloadIgnoringLocalAndRemoteCacheData
urlSessionConfig.urlCache = nil
let testSession = URLSession.init(configuration: urlSessionConfig)
let task = testSession.dataTask(with: request) { data, response, error in
...
Когда я перезагружаю приложение и сначала пробую неправильные учетные данные, доступ запрещен (поэтому основной код правильный).Если я затем изменяю правильные учетные данные, доступ предоставляется.Обратно к неправильным учетным данным, затем все еще разрешает доступ.Следовательно, это только один способ, от хорошего до плохого, что он не работает должным образом.
Я также пытался ...
urlSessionConfig.requestCachePolicy = .reloadRevalidatingCacheData
... без изменений!
Является ли мой код, связанный с кешем выше, неправильным или что может быть источником такого поведения?