Как проверить аутентифицированного пользователя в облачной функции Google? - PullRequest
0 голосов
/ 13 октября 2019

Я пытаюсь использовать Google Identity Platform в своей функции Google Cloud. Я не нахожу никакой информации об этом. Я полагаю, что я мог бы сделать что-то вроде этого:

exports.helloWorld = (req, res) => {

   var user = getAuthenticatedUser(); //I made up this function and I'm imagining there's some API from google to do this.

   if ( user === undefined ) {
     res.status(403).send('Forbidden!');
   }

   let message = req.query.message || req.body.message || 'Hello ' + user;
  res.status(200).send(message);
};

Может кто-нибудь, пожалуйста, направьте меня к правильной документации? Я чувствую, что иду по кругу и не могу определить, как это можно или нужно сделать.

Спасибо

Ответы [ 2 ]

0 голосов
/ 10 ноября 2019

Как обещают, здесь мои статьи.

У вас есть основания для запуска прокси-сервера и выполнения аутентификации, поскольку напрямую это невозможно. В этой статье аутентификация выполняется с помощью API-ключа, но вы можете подключить поставщика удостоверений firebase -> Это та же платформа, что и Cloud Identity Platform.

Надеюсь, эта помощь!

0 голосов
/ 22 октября 2019

Исходя из вашего разъясненного варианта использования, я считаю, что вы ищете следующее:

enter image description here

Вы можете следовать Облаку аутентификации Руководство по функциям (которое все еще находится в бета-версии), чтобы убедиться, что ваши функции выполняются только аутентифицированными пользователями.

Короче говоря, двумя вариантами являются вход в Google с идентификатором клиента OAuth 2.0, который будет выполнять аутентификацию «сам» перед запуском функции (что экономит ваши затраты). Другой - с Firebase, который выполняет аутентификацию в функции, что означает, что вы будете платить за неаутентифицированные запросы.

Пожалуйста, дайте мне знать, если это помогло:)

...