Я создаю API, который использовал Firebase-клиент SDK для авторизации пользователя по правилам базы данных в реальном времени, но API возвращает «PERMISSION_DENIED», когда я использовал сгенерированный токен приложением Firebase.
это короткий код для моего API:
// GET {{url}}/users
import * as admin from 'firebase-admin';
import * as firebase from 'firebase';
// admin sdk to verify generated token.
const userAuth = await admin.auth().verifyIdToken(accessToken); // return user object, no problem with that.
const user = await firebase.database().ref(`users/${userAuth.uid}/`).once('value'); // this causes "PERMISSION_DENIED" when fetch data from database.
это образец моих правил БД:
{
"rules": {
"users": {
".read": "auth !== null"
},
},
}
Я использовал firebase client sdk, чтобы применить к нему правило db, и я не хочу использовать admin sdk, потому что он имеет полные права администратора.
Так как я могу решить эту проблему?