API управления учетными данными — это основанный на стандартах API браузера, который обеспечивает программный интерфейс между сайтом и браузером для беспрепятственного входа на разных устройствах.
API управления учетными данными:
- Устраняет затруднения при входе в систему — пользователи могут автоматически повторно входить на сайт, даже если срок их сеанса истек или они сохранили учетные данные на другом устройстве.
- Позволяет входить в систему одним нажатием с помощью выбора учетной записи . Пользователи могут выбрать учетную запись в собственном средстве выбора учетной записи.
- Хранит учетные данные - Ваше приложение может хранить либо комбинацию имени пользователя и пароля, либо даже данные федеративной учетной записи. Эти учетные данные могут синхронизироваться между устройствами с помощью браузера.
Хотите увидеть это в действии? Попробуйте демонстрацию API управления учетными данными и взгляните на код .
Проверьте поддержку API управления учетными данными в браузере
Перед использованием API управления учетными данными сначала проверьте, поддерживается ли PasswordCredential
или FederatedCredential
.
if (window.PasswordCredential || window.FederatedCredential) {
// Call navigator.credentials.get() to retrieve stored
// PasswordCredentials or FederatedCredentials.
}
Войти пользователь
Чтобы войти в систему, извлеките учетные данные из менеджера паролей браузера и используйте их для входа в систему.
Например:
- Когда пользователь заходит на ваш сайт и не авторизован, вызовите
navigator.credentials.get()
. - Используйте полученные учетные данные для входа пользователя.
- Обновите пользовательский интерфейс, чтобы указать, что пользователь вошел в систему.
Подробнее читайте в разделе «Вход пользователей» .
Сохраните или обновите учетные данные пользователя
Если пользователь вошел в систему с помощью федеративного поставщика удостоверений, такого как Google Sign-In, Facebook, GitHub:
- После того как пользователь успешно войдет в систему или создаст учетную запись, создайте
FederatedCredential
с адресом электронной почты пользователя в качестве идентификатора и укажите поставщика удостоверений с помощьюFederatedCredentials.provider
. - Сохраните объект учетных данных с помощью
navigator.credentials.store()
.
Подробнее читайте в разделе «Вход пользователей» .
Если пользователь вошел в систему, используя имя пользователя и пароль:
- После того, как пользователь успешно войдет в систему или создаст учетную запись, создайте
PasswordCredential
с идентификатором пользователя и паролем. - Сохраните объект учетных данных с помощью
navigator.credentials.store()
.
Подробнее читайте в статье Сохранение учетных данных из форм .
выход
Когда пользователь выходит из системы, вызовите navigator.credentials.preventSilentAccess()
чтобы предотвратить автоматический повторный вход пользователя в систему.
Отключение автоматического входа также позволяет пользователям легко переключаться между учетными записями, например, между рабочими и личными учетными записями или между учетными записями на общих устройствах, без необходимости повторного ввода своих учетных данных.
Подробнее читайте в разделе «Выход» .