我正在使用Android中的Amazon Cognito服务通过电子邮件和密码进行用户注册。我成功注册,登录和忘记密码流程。
我使用下面的代码获取了cognito用户ID,问题是我获得了第一次登录其他用户时收到的同一个cognito用户ID。即,当我下次使用不同凭据登录时,我获得了第一个用户的相同认知用户ID :
credentialsProvider = new CognitoCachingCredentialsProvider(
getApplicationContext(), // Context
"us-east-1:2ce7b2c2-898f-4a26-9066-d4feff8ebfe4", //Identity Pool ID
Regions.US_EAST_1 // Region
);
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
identityId = credentialsProvider.getIdentityId();
}
})
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe();
}
请接受我的问题,因为我是首发,所以请帮助并分享这些认知用户ID如何工作的想法
答案 0 :(得分:0)
好像您正在获取设备上的缓存身份ID和凭据。当新用户登录或您注销用户时,可以尝试调用credentialsProvider.clear()。这应该清除缓存的身份标识。