Google Smart Lock и API управления учетными данными

Вопрос:

Я хочу внедрить фрикционный знак для моего веб-приложения.

После некоторых поисков я обнаружил, что есть два решения:

Мой вопрос: в чем разница между двумя API (если есть) и каковы возможные варианты использования для обоих.

Из того, что я понял, оба позволяют нам сохранять учетную информацию. Но преимущество смарт-блокировки заключается в том, что сохраненные учетные данные могут использоваться и в соответствующих приложениях для Android.

Благодаря !

Примечание. Я намерен поддерживать логин из нескольких источников (google, facebook, linkedin и т.д.), А не только Google.

Лучший ответ:

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 (и остальные учетные записи для токенов).

Пожалуйста, оставляйте комментарии для любых последующих вопросов.

Оцените статью
TechArks.Ru
Добавить комментарий