APP与服务端保持登录状态

由于APP向服务端发起请求属于跨域访问,每次访问在服务端都会产生一个新的session,因此APP客户端与web端不同,无法通过session来保持登录状态。
为了维护app用户的登录状态,我们可以利用token来实现。
客户端输入账号密码,发起登录请求,服务端在登录接口验证通过后,给客户端返回一个任意字符串,既token,生成算法可随机,token必须与用户的账户关联,如用userid和token形成键值对,保存在内存中(redis)。客户端拿到这个token后,就相当于被服务端承认正常登录成功了,在之后所有需要验证的请求中,带上token,服务端验证token是否存在,是否有效。
出于安全考虑,token在每次登录时重新生成,并可以设置有效期,每次有效操作后更新token的时间戳,保证token有效期往后延续。
为了避免token被截获,伪造非法请求,在每次请求时,可以用userid+token+时间戳+密钥+请求参数,进行签名,服务端验证token,同时验证签名,以保证请求的安全性。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
App保持登录状态的方式通常是通过使用token进行身份验证登录的操作。Token是一种在客户端和服务器之间进行安全通信的一种方式。当用户通过用户名和密码进行登录后,服务器将生成一个特定的token并返回给客户端,客户端在之后的请求中带上这个token以验证身份。 在客户端中,通常将token保存在本地存储中,比如使用SharedPreferences或者KeyChain。每次用户打开App时,客户端会检查本地存储中是否存在有效的token,如果存在,则认为用户已经登录,并进行相应的操作。如果token过期或无效,客户端会要求用户重新登录并获取新的token。 在服务端中,服务器会验证客户端请求中的token是否有效,并根据token所对应的用户信息进行相应的处理。服务器会保留一个token的有效期,如果token过期,则要求客户端进行重新登录并获取新的token。服务器还会对token进行加密签名,以防止token被伪造或篡改。 使用token进行登录保持登录状态的优势是,相比传统的基于session的方式,token不需要在服务器端保存额外的登录信息,减少了服务器的负担,并且可以实现跨平台的登录状态共享。同时,token还可以设置有效期和权限等控制,提高了安全性。 综上所述,App保持登录状态通常是通过使用token进行身份验证登录操作,客户端保存token并在请求时发送给服务器进行验证,服务器根据token进行用户身份的识别和处理。这种方式优化了用户登录体验,同时提高了安全性和跨平台的兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值