# #reactjs #firebase #firebase-authentication #firebase-admin #google-admin-sdk
Вопрос:
Я пытаюсь предоставить пользовательские требования определенным пользователям для моего веб-приложения react, и я не смог преодолеть эту ошибку.
Ошибка:
TypeError: getCurves is not a function
./node_modules/jose/lib/registry/ec_curves.js
2 |
3 | const curves = new Set()
4 |
> 5 | if (getCurves().includes('prime256v1')) {
6 | curves.add('P-256')
7 | }
8 |
и это функция функция, которая запускает ее
admin.auth().setCustomUserClaims(uid, {
admin: true,
})
вот как выглядит мой sdk администратора
import * as admin from 'firebase-admin';
import serviceAccount from './Servicekey.json';
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: <databaseURL>
});
export default admin;
Я использовал для обновления профиля пользователя (пароль, адрес электронной почты) аналогичным образом из своей системы, но также не могу этого сделать.
Комментарии:
1. Вы уверены, что это исходит от администратора Firebase ?
2. у меня никогда раньше не было такой ошибки в моем веб-приложении … именно после использования firebase-admin я столкнулся с этой ошибкой.
3. Веб-приложение? Где вы пользуетесь
firebase-admin
? Вы не должны использовать его на интерфейсе. Который имеет права администратора, не подчиняется правилам безопасности и имеет полный доступ к вашему проекту Firebase. Вы должны использовать это только в защищенных env, таких как серверные или облачные функции. Он не должен использоваться во внешнем интерфейсе.4. да… я просто тестирую или в основном даю пользователю только один токен администратора. у меня нет намерений публиковать его для всей базы пользователей.
5. Я бы рекомендовал использовать проект узла и не реагировать на выполнение s, или вы можете попробовать эмулятор функций Firebase локально.
Ответ №1:
В моем случае я использовал getToken() из next-auth
Ответ №2:
Я знаю, что прошло пару месяцев, но я просто потратил несколько дней на то, чтобы разобраться в этом, и в итоге вернулся к более старой версии firebase-admin. Попробуйте вернуться к версии 9.0.0.
Я вернулся, перейдя в файл package.json и изменив версию firebase-admin на 9.0.0, а затем запустив «npm i».