我在我使用 Alamofire 的应用程序中实现授权。我有一个授权 token 添加到我发出的每个 HTTP
请求的 header 中,然后检查他们的响应以查看服务器是否返回了 401
状态代码?如果是,请注销用户。
最佳做法是什么?有没有一种简单的方法可以将此行为添加到每个请求?
我期望的目标是在我检查 401 错误代码
的代码中拥有单一事实来源。
环顾四周我没有找到满意的答案关于如何做到这一点有什么建议吗?
最佳答案
Alamofire
提供了两个protocol
,分别是RequestAdapter
和RequestRetrier
。
RequestAdapter
会在每次即将 发出请求时得到通知。这是注入(inject)您的 token 的理想场所。
RequestRetrier
每次请求因任何原因而失败时都会收到通知。您可以检查失败原因并检测 401 未授权情况,并向系统发送全局通知(并可能在 AppDelegate
中进行管理)
您必须将它们分配给当前的 Session
管理请求。
您还可以阅读 how to implement simple OAuth 的 Alamofire 文档.
关于ios - 集中管理身份验证的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57219965/