Я пытаюсь использовать Auth0 JWT токены с Firebase, но без особой удачи.
При использовании токена с Firebase:
const token = localStorage.getItem('id_token'); //from auth0
firebase.auth().signInWithCustomToken(token).catch((error) => {
var errorCode = error.code;
var errorMessage = error.message;
console.log(error);
console.log(token);
});
Все, что я получаю, это:
“The custom token format is incorrect. Please check the documentation.”
Насколько я видел в документации Firebase, токены Auth0 и Firebase различны:
https://firebase.google.com/docs/auth/admin/create-custom-tokens
Очевидно, Firebase ожидает идентификатор , которого нет в идентификаторе, сгенерированном Auth0, эквивалент которого указан в sub .
Я попытался создать правило, чтобы изменить токен Auth0, включив в него копию с именем uid, чтобы посмотреть, может ли это быть решением, но оно не работает, в тело токена ничего не добавлено.
function (user, context, callback) {
context.idToken.uid = user.user_id;
callback(null, user, context);
}
Любая идея / предложение?
PS:
1.Я проверил токен в jwt.io и его действительность.
2. Я пытался сократить время истечения до 5 минут, так как видел, что некоторые люди считают это возможным решением, но это не так.