移动APP的特点
移动APP和网页登陆不同的一点就是,App不需要用户每次使用都登陆,增加了易用性, 本文介绍一下App保持登陆的是实现机制
目前常见的机制:
一 使用传统的会话机制session
把网页的机制照搬过来,利用传统网页的记住登陆机制.
用户输入正确的用户名和密码后,创建登陆会话,同时生成一个记住登陆token保持在服务器端,同时发个客户端.
客户端每次启动时,通过记录登陆token新建会话,后续使用便采取session机制.
服务器端的可用Memcache 或 Redis 存储会话.
回味一下这个机制,其中的记住登陆token,也可定个长的有效期,比如30天,
记住登陆token类似Oauth 2.0 的 Refresh token, Session机制里的Session Id 类似Access token.
只不过,Session机制里的Session Id 持续使用时,会自动延期.
这个机制的好处是充分利用现有知识,简单易用,没有太多新名词概念
不足之处是不便于分布式认证,还有Session机制对性能有一小点影响, 同时不符合Restful API无状态的设计精神.
二 使用一个有效期很长的Token 机制
用户正确登陆后,生成一个有效期很长的Token(比如半年),保存在服务器端,同时发给客户端, 客户端的每次请求就以这个Token验证身份.
采用https 传输加密, Token中途不会被获取, 而保存在本地的Token其他程序也访问不了.
对应普通应用而言,这个方案也是可以的.
三 使用一个长期的Refresh Token 和 短期的Access Token.
对于方案二,