Авторизуйте пользователей на основе "размещенного домена" Google - PullRequest
0 голосов
/ 21 апреля 2019

Я пытаюсь авторизовать своих пользователей на основе их "размещенного домена" Google. Это эквивалентно их организации G Suite и является претензией к претензии Google OpenID как "hd".

Я полагаю, что пользовательское утверждение является хорошим местом для размещения этой информации, так что в Firestore я могу сделать request.auth.token.hd == 'xyz.org'.

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

Как мне создать это решение в Firebase?

Должен ли я использовать signInAndRetrieveDataWithCredential? providerData статичен или обновляется каждый раз при вызове signInAndRetrieveDataWithCredential?

1 Ответ

1 голос
/ 21 апреля 2019

https://stackoverflow.com/a/44274930/381285

Я думаю, мне нужно result.additionalUserInfo.profile, чтобы получить информацию о моем заявлении.Это не будет на result.user.providerData, потому что это массив UserInfo данных.

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

Вероятно, следует связать с onIdTokenChanged, который запускает облачную функцию, которая проверяет, googleUser.getAuthResponse().id_token содержит мое утверждение.Затем обновите мою заявку на токен с идентификатором firebase.И как только моя пользовательская заявка будет обновлена, мне снова нужно будет обновить токен идентификатора моего клиента, потому что настраиваемая заявка не распространяется автоматически.

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