Я видел похожие вопросы, но мой вариант использования кажется другим. Позвольте мне объяснить.
- У меня ОДИН проект.
- Я использую Аутентификацию Firebase в проекте
- Я создал http 10 Cloud Cloud Function на основе Node JS на разные маршруты.
Используя Почтальон, я делаю POST-запрос к функции Cloud и использую маршрут login
, передаю электронную почту и пароль и получаю токен в ответе.
Используя Почтальон, я делаю POST-запрос к функции Cloud и использую маршрут check
, передавая токен из предыдущего запроса и аутентифицируя токен. Оно работает. Для этого я использую функцию admin.auth().verifyIdToken
клиента администратора firebase.
Все, кажется, хорошо.
Теперь, когда я настраиваю конечную точку Google Cloud (в контейнере Google Cloud Run) в тот же проект и:
Я не настроил ни одной опции ценных бумаг (пока) в файле yaml Firebase Stagger.
Я могу POST-запрос к конечной точке Google Cloud, используя путь login
, я получаю токен, как и раньше.
Но когда я делаю POST-запрос с использованием конечной точки на путь check
, Я получаю "У токена Firebase ID неверное утверждение" aud "(аудитория)". ошибка.
Я, кажется, перепробовал все варианты, предлагаемые другими на этих форумах. Я создал закрытый ключ из консоли Firebase и инициализировал им клиент администратора Firebase, и все же я получаю ту же ошибку, которая гласит: «Заявка предполагается для Project-Id, но она воспринимается как имя-функции», которое является частью того же проекта.
Я также настроил свою функцию node js с помощью cors (app.use(cors())
), но та же ошибка сохраняется.
Я занимался этим последние 4- 5 дней, но, похоже, не выяснил, в чем именно заключается проблема и почему он не может принять вызов функции администратора клиента. Любой, кто даст мне направление, будет высоко оценен. Спасибо.