Я работаю над вспомогательным приложением, для которого пишу облачную функцию, которая должна извлекать текущие пользовательские данные из базы данных Firebase, используя идентификатор пользователя. Я использую администратора firebase, и я сослался на документы для администратора firebase, где они упомянули способ получения пользовательских данных с помощью идентификатора пользователя, но не упомянули, как получить текущий идентификатор пользователя. Как получить идентификатор пользователя, вошедшего в систему?
Как получить текущий идентификатор пользователя с помощью администратора firebase?
Ответы (1)
Чтобы получить текущий подписанный идентификатор пользователя, вам необходимо включить Account Linking
в приложении AoG.
В настройках AoG включите Account linking
с кодом авторизации в качестве типа предоставления. Заполните информацию о клиенте и выберите области.
Теперь, когда пользователь использует ваше приложение, оно будет запрашивать вход, и на вашем бэкэнде AoG вы сможете получить authorization code
.
Теперь, используя этот код авторизации, вы можете получить требуемый идентификатор пользователя и использовать его для своего администратора firebase.
Дополнительную информацию о привязке аккаунта можно найти здесь.
person
J Shubham
schedule
31.07.2017
Я сделал привязку аккаунта, как вы сказали. В URL авторизации я вставил accounts.google.com/o/oauth2/v2/auth в URL-адресе аутентификации и googleapis.com/oauth2/v4/token в адрес токена. Это правильно? после этого я смог связать свою учетную запись Google, а затем попытался получить uid с помощью токена, но безуспешно. не могли бы вы поделиться кодом для получения uid с помощью кода авторизации?
- person Mustafa Bhatkar; 03.08.2017
Содержит ли ваша база данных uid учетной записи Google пользователя? Что вы можете получить от
auth_key
, так это адрес электронной почты, имя, идентификатор пользователя учетной записи Google.
- person J Shubham; 04.08.2017
Нет, у него нет uid учетной записи Google пользователя. Я использую базу данных firebase, поэтому у нее есть uid, созданный firebase.
- person Mustafa Bhatkar; 04.08.2017
Можете ли вы обеспечить правильное использование вашей базы данных, например, как вы пытаетесь связать пользователей из вашей базы данных с пользователем с помощью входа в Google? Для этого вам сначала нужно иметь пользовательский идентификатор Google в вашей базе данных. Как пользователь идентифицирует себя для вашего приложения? Они авторизовались через гугл или у вас был свой способ?
- person J Shubham; 04.08.2017
У меня есть приложение для Android, в котором я использую аутентификацию firebase, где пользователь может войти в систему с помощью Google или электронной почты. поэтому, когда пользователь входит в систему, firebase создает uid. Я использую этот идентификатор для хранения данных каждого пользователя в БД.
- person Mustafa Bhatkar; 04.08.2017
Account Linking
не может напрямую вернуть этот uid. Но, похоже, у вас есть электронная почта для каждого пользователя, поэтому, используя привязку учетной записи, вы можете получить электронную почту пользователя из кода авторизации. А с помощью электронной почты вы можете идентифицировать своих пользователей базы данных firebase. Хотя я не знаю, как получить электронную почту от привязки учетной записи AoG, но вы можете задать другой вопрос или исследование.
- person J Shubham; 04.08.2017
Спасибо, что нашли время ответить. Я проведу небольшое исследование, чтобы получить электронное письмо от привязки учетной записи.
- person Mustafa Bhatkar; 05.08.2017