gpt4 book ai didi

ios - 使用 Alamofire 4 的 header 授权最佳实践,具有全局 401 代码捕获

转载 作者:搜寻专家 更新时间:2023-10-31 08:08:00 25 4
gpt4 key购买 nike

我在我使用 Alamofire 4.0 的应用程序中实现授权我有一个 token 要添加到我发出的每个 HTTP 请求的 header 中,如果响应代码是 401,我必须检查每个请求,在这种情况下我必须注销用户。

最佳做法是什么?有没有一种简单的方法可以将此行为添加到每个请求?

我查看了 session 管理器和请求适配器 here ,并且创建单例请求管理器并使用它来创建请求非常容易,但我找不到为 401 响应代码添加集中验证的好方法。这必须是一般验证,如果失败,我会注销用户,如果通过,我会让发出请求的人处理请求。

我想要的目标是在我的代码中只有一个点来检查 401 错误代码。

环顾四周,我没有找到满意的答案有关如何执行此操作的任何建议?

最佳答案

SessionManager 中的简单GET 方法。为 Web 服务创建一个单独的类,并在每个请求中进行验证。

  let alamofireManager: SessionManager = {
let configuration = URLSessionConfiguration.default
configuration.httpMaximumConnectionsPerHost = AppConstants.maxSimultaneousDownloads
configuration.requestCachePolicy = .reloadIgnoringLocalCacheData
return SessionManager(configuration: configuration)
}()


self.alamofireManager.request(UrlString)
.responseJSON { response in

print("response: \(response)")

guard response.result.isSuccess else {
//Request fails here. Trigger here to log out the user
return
}

if let JSON = response.result.value {
print("Successful")
//or check response code here

}
}

关于ios - 使用 Alamofire 4 的 header 授权最佳实践,具有全局 401 代码捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40255530/

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