2017-01-28 2 views
0

При входе в Facebook в Firebase я получаю идентификатор пользователя, отличный от общих идентификаторов пользователей Facebook (как в цифрах). Firebase создала полностью уникальный для приложения идентификатор, что делает невозможным поиск URL-адреса профиля.Firebase - Получить письмо профиля профиля Facebook URL от uid?

Идентификатор профиляImageURL, который поставляется с аутентификацией Firebase, истек, и поскольку эти URL-адреса могут истекать, я не могу сохранить такую ​​информацию в базе данных Firebase для доступа других пользователей. Скажите, если какой-то пользователь не повторно идентифицирует себя на какое-то время, из-за чего истекает срок действия этого профиляImageURL, другие пользователи не могут видеть фотографию профиля, если пользователь не запишет его снова. Что делать, если пользователь неактивен годами? Нет ли альтернативного способа получить фотографию профиля?

+0

Как только пользователь выполнил аутентификацию, текущий пользователь извлекается с помощью (Swift) let user = FIRAuth.auth() ?. currentUser. После того, как у вас есть пользовательская переменная, вы можете получить доступ к своему электронному письму (позвоните по электронной почте = пользователь? .email) и их фотоURL (пусть фотоURL = пользователь? .photoURL). Можете ли вы уточнить, в чем проблема? – Jay

+0

@Jay - Как я уже сказал, когда я обращаюсь к пользователю? .photoURL, ссылка истекло. Некоторые люди говорят, что он должен обновляться после повторного входа в систему, но это не так. Однако, даже если это сработает, последняя ссылка, полученная пользователем после входа в систему, в конечном итоге также истечет. Это означает, что если этот пользователь неактивен (долгосрочный), другие пользователи не будут иметь доступ к рабочему профилюURL, так как пользователь еще не обновил ссылку. –

+0

Возможно, один из Firebaser может исправить меня, но URL-адрес - это URL-адрес. Он не истекает, поскольку он связан с созданным Firebase uid. Это то, что позволяет пользователю проходить аутентификацию с любым количеством провайдеров, и данные этого профиля пользователя остаются неизменными. – Jay

ответ

0

Я нашел решение. Он существует в Firebase документации:

id<FIRUserInfo> userInfo = [FIRAuth auth].currentUser.providerData[indexPath.row]; 
cell.textLabel.text = [userInfo providerID]; 
// Provider-specific UID 
cell.detailTextLabel.text = [userInfo uid]; 

[userInfo uid] является фактическим Facebook ID пользователя. Это то, что я могу использовать для получения обновленного URL-адреса фотографии.

 Смежные вопросы

  • Нет связанных вопросов^_^