如何在android中登录电子邮件和密码登录时获取cognito用户ID

时间:2016-08-18 12:10:09

标签: android login amazon-cognito

我正在使用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如何工作的想法

  1. 因为我认为Cognito用户ID对每个用户都是唯一的
  2. 在ios / web等不同设备中登录时,Cognito用户ID不会更改。

1 个答案:

答案 0 :(得分:0)

好像您正在获取设备上的缓存身份ID和凭据。当新用户登录或您注销用户时,可以尝试调用credentialsProvider.clear()。这应该清除缓存的身份标识。