Каковы альтернативы получению токена идентификатора пользователя Firebase, если вызов getIdToken() не работает?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Каковы альтернативы получению токена идентификатора пользователя Firebase, если вызов getIdToken() не работает?

Сообщение Anonymous »

Проблема

Я реализую собственный поставщик проверок приложений для своего приложения Firebase для Android с использованием Java. Документацию для этого можно найти здесь.
Я хотел бы получить идентификационный токен вошедшего в систему пользователя, чтобы отправить заголовок авторизации в моем http-запросе в мою облачную функцию Firebase, чтобы чтобы получить токен проверки приложения. Проблема возникает, когда я вызываю getIDToken(), который никогда не завершается и не выполняет код в onCompleteListener. Есть ли альтернативный способ получить токен идентификатора пользователя?
FirebaseAppCheckProvider.class

package com.example.data;

public class FirebaseAppCheckProvider implements AppCheckProvider {

private RecaptchaTasksClient mRecaptchaTasksClient;

public FirebaseAppCheckProvider(RecaptchaTasksClient pRecaptchaTasksClient) {
mRecaptchaTasksClient = pRecaptchaTasksClient;
}

@NonNull
@Override
public Task getToken() {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
TaskCompletionSource taskCompletionSource = new TaskCompletionSource();

if (user != null) {
user.getIdToken(true).addOnCompleteListener(new OnCompleteListener() {
@Override
public void onComplete(@NonNull Task task) {
//never gets here
if (task.isSuccessful()) {
String userTokenId = task.getResult().getToken();
Log.i("UserIDToken", "ID Token: " + userTokenId);
//Rest of code....
//set the taskCompletions to the result of the acquired app check
//token
taskCompletionSource.setResult(new FirebaseCustomAppCheckToken(appCheckToken,calculatedExp));

} else {
Log.i("UserTokenID", "Error: " + task.getException());
taskCompletionSource.setResult(new FirebaseCustomAppCheckToken(null,0));
}

}
});
}else
{
taskCompletionSource.setResult(new FirebaseCustomAppCheckToken(null,0));
}

return taskCompletionSource.getTask();

}
}



Подробнее здесь: https://stackoverflow.com/questions/783 ... lling-geti
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»