Google一键登录(YOLO)+ Firebase身份验证?

k10s72fa  于 2022-12-04  发布在  Go
关注(0)|答案(3)|浏览(196)

我注意到谷歌已经重新打开Google One-Tap Sign-in and Auto-Signup后,暂停它由于安全问题。
我一直在尝试了解如何使它与Firebase Auth一起工作,有人有什么想法吗?即使是一个高层次的视图应该如何工作将是伟大的。
到目前为止,我已经创建了这个:
https://google-one-tap.brunocrosier.now.sh
到目前为止,它的作用是:
1.显示单击提示
1.允许您单击“以{name}身份继续”
1.向/api/google发出发布请求并验证ID令牌as per these instructions
1.以JSON格式输出数据
我的问题是,我如何才能让Firebase Auth使用这个功能?我可以使用#4中输出的数据在Firebase中创建一个Google用户吗?
提前感谢!

h6my8fg2

h6my8fg21#

一键Google登录(https://developers.google.com/identity/gsi/web

响应通过One Tap script的回调直接到达您的函数。

火力基地8

let credential = firebase.auth.GoogleAuthProvider.credential(response.credential);

firebase.auth().signInWithCredential(credential).then(function(result) {
  let user = result.user
  console.log(user)
});

火力基地9

import { getAuth, GoogleAuthProvider, signInWithCredential } from "firebase/auth"
    
const yourAuth = getAuth(yourApp)
const credential = GoogleAuthProvider.credential(response.credential)
signInWithCredential(yourAuth, credential).then(function (result) {
  const user = result.user
  console.log(user)
})
yfwxisqw

yfwxisqw2#

我看到您在以下位置开源代码:https://github.com/brunocrosier/google-one-tap。看来这个问题已经被你自己解决了。

jvlzgdj9

jvlzgdj93#

因此,它看起来像是隐藏在文档中,请访问https://firebase.google.com/docs/projects/pwa#sign_in_users_across_devices。TLDR add the GOOGLE_YOLO credentialHelper

var uiConfig = {
  signInSuccessUrl: 'url-to-redirect-to-on-success',
  authMethod: 'https://accounts.google.com',
  signInOptions: firebase.auth.GoogleAuthProvider.PROVIDER_ID,
  // Enable one-tap sign-in.
  credentialHelper: firebaseui.auth.CredentialHelper.GOOGLE_YOLO
}

相关问题