gpt4 book ai didi

swift - 初始成功身份验证后,可能会使用错误的凭据访问服务器

转载 作者:行者123 更新时间:2023-11-30 10:40:30 26 4
gpt4 key购买 nike

我使用凭据登录服务器,这些凭据在 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

...没有任何变化!

上面我的缓存相关代码是否错误,或者此行为的根源是什么?

最佳答案

在 @user3344236 把我踢向正确的方向后,我设法通过(总是)首先在注销.dataTask 的完成代码中执行登录之前执行注销来解决问题。现在看来这一切都很完美!

我对缓存问题的假设显然是错误的。

关于swift - 初始成功身份验证后,可能会使用错误的凭据访问服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56901595/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com