前言
app实现自动登录有很多种,比如常见的token,今天来讲一下利用Cookie来实现自动登录。
网络请求
网络请求使用的是Alamofire,对Cookie进行永久化存储,请求接口的时候设置HTTPHeaders,然后获取成功之后进行本地存储,下面直接添代码
// 请求头
if (UserDefaults.standard.string(forKey: "ml_cookie") != nil) && URLString == "member/me" {
headers = [
"Content-Type":"application/json",
"Cookie":(UserDefaults.standard.string(forKey: "ml_cookie"))!
]
}
请求成功之后
Alamofire.request(url, method: method, parameters: parameters, headers: headers).responseJSON { (response) in
let headerFields = response.response?.allHeaderFields as! [String: String]
let cookie = headerFields["Set-Cookie"]
if cookie != nil && URLString == "member/login" {
UserDefaults.standard.set(cookie, forKey: "ml_cookie")
}
}
好了,大功告成了。