3
ユーザーがアンドロイドアプリでfirebaseにサインアップすると、FirebaseUserオブジェクトが生成され、これから私はGoogleクラウドエンドポイントバックエンドの各ユーザーの一意の識別子として保存するユーザートークンを取得します。firebaseユーザートークンが変更されるのはなぜですか?
は、私が呼ばれている認証状態リスナーを使用するときにユーザーがサインアップ:
フィールドmUserIdは、Googleのデータストアにプロファイルを保存するために使用されるmAuthListener = new FirebaseAuth.AuthStateListener() {
@Override
public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
FirebaseUser user = firebaseAuth.getCurrentUser();
if (user != null) {
mUserId = user.getToken(true).toString();
SignUpAboutFragment signUpAboutFragment = new SignUpAboutFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.sign_up_fragment_container, signUpAboutFragment, SIGN_UP_ABOUT_FRAGMENT_TAG);
ft.addToBackStack(null);
ft.commit();
}
}
};
:で
mPresenter.saveUserData(firstName, lastName, birthday, mUserId, this, MainActivity.class);
私は、現在のユーザートークンを使用して、エンドポイントapiへの呼び出しを行いたいと考えています。
//Different activity to the above.
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
// Using getToken as recommended in the firebase docs.
mUserId = user.getToken(true).toString();
}
2つのアクティビティに両方のmUserIdフィールドを記録すると、それらが異なることがわかります。
なぜmUserIdが変更されていますか?同じのトークンを私のアプリのどこからでも取得するにはどうすればよいですか?
だから、uidが一定で? @Rosario Pereira Fernandes –
はい、それは@TomFinetです –