我知道这是一个稍微开放/模糊的问题,但任何有关如何进行的帮助都将受到高度赞赏.
使用Alamofire实现会话管理的最佳方式是什么?
使用案例:我实现了一个iOS应用程序,需要用户身份验证(要求用户登录)才能获得大多数功能.使用alamofire实现这一目标的最佳方式是什么?
我能想到以下几点:
[1]发出登录请求.
[2]获取会话cookie.
[3]保存cookie并将其用于后续请求.
什么是最好的方法[3],即为后续请求保存cookie.
解决方法
在我看来,我对所有请求使用了相同的Manager实例:
let cfg = NSURLSessionConfiguration.defaultSessionConfiguration() let cooks = NSHTTPCookieStorage.sharedHTTPCookieStorage() var manager: Manager
通过登录响应,API开发人员应将Set-Cookie设置为标头.而你只需要正常调用其他请求.
如果您需要使用一次性登录令牌,则可以使用此代码将其放入所有请求的标头中
var authToken : String? { didSet { if let _ = authToken { self.cfg.HTTPAdditionalHeaders = ["auth_token": authToken!] self.manager = Manager(configuration: cfg) }else{ self.cfg.HTTPAdditionalHeaders?.removeValueForKey("auth_token") self.manager = Manager(configuration: cfg) } } }
这只是我的意见.有很多方法可以做得更好.谢谢.