TL;DR библиотека регистрации/автоматического входа в одно касание включает управление учетными данными. Вероятно, вам следует просто использовать библиотеку: https://developers.google.com/identity/one-tap/web/get-started
Подробнее
Библиотека JavaScript поддерживает создание учетной записи с помощью учетных записей Google (с помощью упрощенного встроенного UX, который может отображаться на страницах контента, вместо того, чтобы пользователю приходилось переходить к традиционному UX на основе кнопок и выяснять, какую кнопку/опцию выбрать и взаимодействовать с всплывающим окном). /перенаправить)
А для вернувшихся пользователей библиотека позволяет программно извлекать при загрузке страницы как токены для существующих пользователей с однократным/традиционным входом в Google, так и пароли через API управления учетными данными в браузерах, которые его поддерживают. Вы можете сделать это с помощью такого кода:
const retrievePromise = googleyolo.retrieve({
supportedAuthMethods: [
"https://accounts.google.com",
"googleyolo://id-and-password"
],
supportedIdTokenProviders: [
{
uri: "https://accounts.google.com",
clientId: "YOUR_GOOGLE_CLIENT_ID"
}
]
});
retrievePromise.then((credential) => {
if (credential.password) {
// An ID (usually email address) and password credential was retrieved.
// Sign in to your backend using the password.
signInWithEmailAndPassword(credential.id, credential.password);
} else {
// A Google Account is retrieved. Since Google supports ID token responses,
// you can use the token to sign in instead of initiating the Google sign-in
// flow.
useGoogleIdTokenForAuth(credential.idToken);
}
}
Подробнее см. в документации. Библиотека в настоящее время не поддерживает формы удостоверения, отличные от Google/пароля, в данный момент вам придется самостоятельно реализовать процесс входа с помощью SDK других упомянутых поставщиков удостоверений.
Также обратите внимание, что любой вход в систему, связанный с учетной записью Google (на основе токена OAuth или сохраненного и синхронизированного пароля), будет доступен в Android и Chrome (и в остальных случаях для учетных записей на основе токена).
Пожалуйста, оставляйте комментарии для любых последующих вопросов.
person
Steven
schedule
05.11.2017