Доступ к серверу возможен с неверными учетными данными после первоначальной успешной аутентификации - PullRequest
0 голосов
/ 05 июля 2019

Я захожу на сервер, используя учетные данные, которые передаются в параметре 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

... без изменений!

Является ли мой код, связанный с кешем выше, неправильным или что может быть источником такого поведения?

1 Ответ

0 голосов
/ 05 июля 2019

После того, как @ user3344236 ударил меня в правильном направлении, мне удалось решить проблему, выполнив (всегда) первый выход из системы, прежде чем выполнять вход в код завершения выхода .dataTask.Кажется, теперь это работает отлично!

Мои предположения о проблемах с кешем были неверны.

...