Можете ли вы использовать IAP для входа в Firebase? - PullRequest
2 голосов
/ 08 января 2020

У меня есть приложение angular, которое защищено Identity Aware Proxy (IAP). Я пытаюсь добавить Firebase в это приложение, чтобы использовать Firestore для компонента, использующего AngularFire. Я не хочу, чтобы пользователь входил дважды, поэтому я подумал об использовании IAP для аутентификации в Firebase.

Я пробовал:

  • Разрешение GCP делать его magi c и посмотрите, вставлен ли пользователь автоматически в модуль Firebase Auth - это не так.

  • Я пытался использовать токен, полученный из IAP в GCP_IAAP_AUTH_TOKEN cook ie с помощью метода signInWithCustomToken - не работает, недействительный токен.

  • Я пытался использовать getRedirectResult после входа в систему через IAP, если он был введен туда - это не так.

Я потратил дней , пытаясь заставить это работать, у меня тоже был коллега, но это просто не представляется возможным. Теперь, в крайнем случае, я пишу здесь, чтобы узнать, знает ли кто-нибудь, возможно ли это.

Если нет, мне придется предложить команде сменить метод аутентификации и избавиться от IAP, но Я бы предпочел сохранить его.


Дополнительная информация:

Среда: NodeJS 10 в App Engine Гибкая

Angular версия: 7.xx

Версия AngularFire: 5.2.3

Примечания: У меня нет бэкэнда, потому что я хочу использовать этот компонент автономно и, самое большее, с парой облачных функций, если это будет необходимо. Я пытаюсь использовать Firestore как «бэкэнд».

Ответы [ 2 ]

1 голос
/ 14 января 2020

учитывая природу IAP и Firebase, это кажется невозможным. Обходной путь может быть таким же, как упомянуто в предыдущих комментариях, для реализации пользовательского поставщика, но вы должны создать свой собственный токен. Тогда, возможно, переосмыслите свое решение, если, возможно, это лучший способ достижения ваших целей.

1 голос
/ 08 января 2020

У меня нет опыта работы с продуктом Google Identity Aware, но я ожидаю, что вам придется реализовать собственного провайдера для аутентификации Firebase . Ключевая часть, которую вы сейчас упускаете, - это код на стороне сервера, который берет информацию из токена IAP и копирует действительный токен Firebase из этого. Затем вы передаете этот токен обратно клиенту, который может использовать его для входа в систему с помощью signInWithCustomToken.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...