2016-06-06 3 views
0

사용자 인증과 함께 firebase 9.x를 사용하고 있습니다. 문서에 따르면 토큰 만료는 1 시간을 초과 할 수 없습니다. 토큰이 만료 될 때 호출 될 수있는 수신기를 등록 할 수 있습니까?Firebase signInWithCustomToken 핸들 토큰 만료

설명서에는 토큰의 자동 새로 고침에 대해서도 설명되어 있습니다. 난 그 사용자 정의 인증에 적용되지 않습니다 믿습니다. 그렇지 않으면 알려주세요.

https://firebase.google.com/docs/auth/server#use_the_firebase_server_sdk

이상적 문서 (위)가 요청 된 정보를 가져야한다.

미리 감사드립니다.

답변

1

AuthListener를 사용해 보셨습니까?

mAuthListener = new FirebaseAuth.AuthStateListener(){ @Override public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) { FirebaseUser user = firebaseAuth.getCurrentUser(); user.getCurrentUser().getToken(true); // ... } };; mAuth.addAuthStateListener(mAuthListener);

2

서버 측 (맞춤 인증)을 생성 된 토큰은 JWT (JSON 웹 토큰)이다. 이 토큰은 사용자 (Firebox)에 사용자를 인증하기 위해 클라이언트 (Android?)가 Firebase 서버에 제공해야합니다. 9.x 라이브러리에서이 토큰의 수명이 최대 시간 인 것처럼 보입니다 (즉, 60 분 후에 더 이상 허용되지 않음). (이 문제에 대한 Sam Stern의 의견 : https://github.com/firebase/quickstart-android/issues/31 참조).

Sam은 맞춤 생성 된 토큰을 사용하여 인증이 발생하면 Android 클라이언트가 로그 아웃 될 때까지 권한을 유지함을 나타냅니다.

JWT 토큰이 유효한 시점까지 실제로 알아야 할 경우 서버에 생성 한 후 60 분이 경과해야합니다. 토큰이 Firebase로 auth 용으로 아직 사용되지 않았다면,이 시점에서 새로운 토큰을 재생성하여 대신 사용할 수 있습니다.