fangjimjim

wangxiao: 然后在 LeanEngine 中去调用 AV.User 这个账号体系即可 用户在应用A登录后,获取sessionToken,然后将sessionToken传到应用B,在应用B里面可以通过AV.User.become(sessionToken, options) 来登录,是这样一个流程吗。

wangxiao2015: become 是一个比较通用的通过传入 token 登录的方式,与单点登录关系不大。单点登录需要能够踢掉其他已登录的设备,这个可以通过 LeanEngine 中移除掉旧的 token 之类的办法实现。 在LeanEngine中如何移除旧的token,用AV.User.become(sessionToken, options),并不能移除旧的token

我的理解是这样的。 目前SDK是支持多个设备同时登录的。如:IOS客户端用户名和密码登录得到sessionToken和Android客户端用户名和密码登录得到sessionToken都是一样的,而且两个客户端都可以操作。 现在,在用户表_User再加入一个token字段,客户端用用户名和密码登录或者是用sessionToken登录,都会重新生成一个token,返回给客户端。然后客户端每次操作都把客户端token和服务器的token对比,如果相同则操作。 这样,用户在IOS端登录后拿到token,然后再在Anroid端登录又拿到token,这时IOS端token就失效了。

那不是所有api请求都得先用重新生成token来验证,自己写云函数啊。