我尝试用会话密钥创建登录会话,会话密钥总是生成新密钥我们做登录/注册,我可以从我的gson检索数据
LoginService loginService = retrofit.create(LoginService.class);
Observable<LoginResponse> obs = loginService.logins(emai,pass,"1", Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID), Build.MODEL, Build.VERSION.RELEASE);
obs.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).
subscribe(new Observer<LoginResponse>() {
@Override
public void onCompleted() {
}
@Override
public void onError(Throwable e) {
}
public void onNext(LoginResponse loginResponse) {
int responses = loginResponse.getCODE();
String texts="";
if(responses == 1)
{
User user = loginResponse.getDATALIST().get(0);
setPrefIsLogin(true);
setPrefSessionUid(user.getSESSIONKEY(),user.getUSERID());
nextActivity();
}
else{
}
}
});
问题是,如果有另一个具有相同帐户的登录活动,如何使处理程序处理保存会话检查?
答案 0 :(得分:0)
您永远不应为一个用户分配两个accessToken / Session。您将相同的accessToken发送到新用户的另一个实例。另外,用户将无法通过两个accessToken复制他/她的作品。
如果要强制使用另一个/第一个AUTO-LOGOUT,可以使用Firebase通知功能向该特定设备ID发送通知并强制停止。您可以查看firebase的教程,了解它们的工作原理。 另一个缓慢的过程是在登录前检查&amp;每个服务器端都要检查是否有同一个用户的实例。您将发送错误,用户端将收到该错误,并通过注销用户显示错误。