Какую информацию я получу, чтобы отобразить информацию о моем пользователе, когда я выберу федеративный вход Google с помощью Firebase? - PullRequest
0 голосов
/ 27 декабря 2018

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

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Самый простой способ узнать наверняка?... Используйте браузерные инструменты разработчика (cntrl + shift + i) для просмотра объекта пользователя.

Внутри вашего .onAuthStateChanged наблюдателя положите console.dir(firebase.auth().currentUser).

Войдите и затем проверьте свойконсоль разработчика.Теперь у вас будет расширяемый объект Firebase User, содержащий все, что вам дает Firebase об этом пользователе.

0 голосов
/ 27 декабря 2018

Что касается информации, которую вы получаете о пользователе, вы можете просмотреть список доступных свойств и информацию, которую вы получите в официальной документации .

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

База данных в реальном времени

{
  "rules": {
    ".read": "(auth.token.email == 'mybuddy@gmail.com' || auth.token.email == 'anotherfriend@gmail.com')",
    ".write": "(auth.token.email == 'mybuddy@gmail.com' || auth.token.email == 'anotherfriend@gmail.com')"
  }
}

Firestore

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if isWhiteListedUser();
    }
  }

  function isWhiteListedUser () {
    return request.auth.token.email == 'mybuddy@gmail.com'
    || request.auth.token.email == 'anotherfriend@gmail.com';
  }
}

Белый список всего домена пользователей

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

".read": "auth.token.identifier.endsWith('@company.com')"

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