iOS 利用token保持登陆状态
来源:互联网 发布:什么是网络谣言 编辑:程序博客网 时间:2024/05/19 18:17
项目里,需要在客户登陆后保持登陆状态。使用的不是存储用户名和密码,每次去模拟登陆。
而是登录时,登陆成功,从服务器接收token,token是服务器生成的一个字符串,唯一标识一个用户,并且会在一段时间后销毁,所以我们很久不登录APP,会要求重新登录。
利用一个工具类,进行token的存储、删除和读取。登陆成功进行存储、下一次打开APP进行读取、退出进行删除。
如果,有refreshtoken,可以进行跟新,就不用再次登录。
代码如下:
#import "GCTokenManager.h"NSString *const TOKEN_KEY = @"token";@implementation GCTokenManager// 存储token+(void)saveToken:(GCToken *)token{ NSUserDefaults *userDefaults=[NSUserDefaults standardUserDefaults]; NSData *tokenData = [NSKeyedArchiver archivedDataWithRootObject:token]; [userDefaults setObject:tokenData forKey:TOKEN_KEY]; [userDefaults synchronize];}// 读取token+(GCToken *)getToken{ NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; NSData *tokenData = [userDefaults objectForKey:TOKEN_KEY]; GCToken *token = [NSKeyedUnarchiver unarchiveObjectWithData:tokenData]; [userDefaults synchronize]; return token;}// 清空token+(void)cleanToken{ NSUserDefaults *UserLoginState = [NSUserDefaults standardUserDefaults]; [UserLoginState removeObjectForKey:TOKEN_KEY]; [UserLoginState synchronize];}// 跟新token+(GCToken *)refreshToken{ return nil;}
这里的GCToken
是服务器端返回的token的模型,要根据自己项目中返回的JSON自定义。
0 0
- iOS 利用token保持登陆状态
- iOS 保持登陆状态
- iOS点击“我的”,保持登陆状态
- APEX session保持登陆状态
- APEX session保持登陆状态
- Android使用token维持登陆状态
- SSO单点登陆和保持状态
- cookie实现保持用户登陆状态
- Android客户端如何登陆学校图书馆网站并保持登陆状态
- 利用JSPsession对象保持住登录状态
- Scrapy定向爬虫教程(五)——保持登陆状态
- HttpClient加JSON保持登陆状态浏览知乎
- iOS如何保持UIButton的Highlighted状态
- IOS 实现UI状态保持和恢复
- 保持状态!
- 状态保持
- 状态保持
- 微信小程序登陆及登陆状态保持前后端php代码 缓存redis
- LeetCode#12. Integer to Roman
- linux内核软中断引起大量丢包
- C#里面设置ListView单列(某个单元格的样式:颜色和字体等)。
- centos7 docker
- Json字符串和js对象之间的转换
- iOS 利用token保持登陆状态
- 给ubuntu14.04Desktop 64Bit版本加一个硬盘(原始的LOG文件)
- 预处理命令
- 支付效果实现
- Redis与spring整合缓存的业务场景使用方法二(使用注解@Cacheable@CacheEvict)
- java开发调用iReport生成Html报表
- Hi3518开发板开发总结
- 图形化界面创建
- 浅谈web应用的负载均衡、集群、高可用(HA)解决方案