Как получить текущий идентификатор пользователя с помощью администратора firebase?

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


person Mustafa Bhatkar    schedule 30.07.2017    source источник


Ответы (1)


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

В настройках AoG включите Account linking с кодом авторизации в качестве типа предоставления. Заполните информацию о клиенте и выберите области.

Теперь, когда пользователь использует ваше приложение, оно будет запрашивать вход, и на вашем бэкэнде AoG вы сможете получить authorization code.

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

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

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