Я имею дело с Firebase
аутентификацией для Интернета. В documentation говорится, чтоFirebase: последний вход в систему запрошен
Некоторых безопасности чувствительных действий, такие как удаление учетной записи, установив основной адрес электронной почты, а также изменение пароля, требует, чтобы пользователь недавно вошел в системе.
Если нет, запрос завершится с кодом ошибки auth/requires-recent-login
, и я должен управлять этим случаем, предложив пользователю повторно вставить свои учетные данные. После того, как я сделал это, я мог бы легко повторно проверить подлинность пользователя с помощью следующего кода:
firebase.auth().currentUser.reauthenticate(credential)
В API reference есть некоторые детали больше. Оказывается, credential
на самом деле является объектом типа firebase.auth.AuthCredential
. Это, как говорится, у меня есть еще куча вопросов, на которые я не мог найти ответ на документы:
- Как создать
AuthCredential
объект? - Что еще более важно, как мне работать с провайдерами (Google, Facebook, ...). Я согласен с тем, что изменение адреса электронной почты/пароля не имеет смысла для поставщиков, поскольку это неправильное место для их изменения, поэтому повторная аутентификация в этом случае не применяется. Тем не менее, удаление пользователя по-прежнему является действием, требующим повторной аутентификации, и это может быть выполнено независимо от метода аутентификации. Как повторно аутентифицировать пользователя, который вошел в систему с поставщиком?
- В документации указано, что пользователь должен был войти в систему недавно. Я не смог найти какое-либо определение последних в документах.
Благодарим за информацию. Но как вы получаете fbAccessToken? – Richard
Каков ваш прецедент? 1. предполагает, что у вас уже есть это. Возможно, из facebook sdk. – bojeil