未捕获的TypeError:无法读取未定义的Cakephp的属性“ GoogleAuthProvider”

时间:2020-01-12 16:38:55

标签: javascript firebase authentication firebase-authentication

我正在做一个带有Google身份验证的小项目。现在,这是我第一次这样做,所以我可能正在做一些我没有发现的错误。我执行了以下步骤:

-我去了火力发电厂并关联了我的帐户

-我使google能够使用它进行身份验证

-我将项目数据粘贴到了文件中,正如我稍后将显示的

-然后我输入了用于验证的代码

<script src="https://www.gstatic.com/firebasejs/7.6.2/firebase-app.js"></script>
<script>
// Your web app's Firebase configuration
    var firebaseConfig = {
    apiKey: "AIzaSyArVSWB1OYZYQJEkmc6uIi9jyfmRIW1oSk",
    authDomain: "assignment-da42d.firebaseapp.com",
    databaseURL: "https://assignment-da42d.firebaseio.com",
    projectId: "assignment-da42d",
    storageBucket: "assignment-da42d.appspot.com",
    messagingSenderId: "569189156463",
    appId: "",
    measurementId: "G-N6D1788RXF"
};
firebase.initializeApp(firebaseConfig);

function googleSignIn(){
    var provider = new firebase.auth.GoogleAuthProvider();
    firebase.auth().signInWithRedirect(provider)
}
</script>

<button onclick="googleSignIn()">Google Sign in</button>

但是,即使在遵循多个教程之后,也使用相同的方法,我仍然不断收到错误消息:

未捕获的TypeError:无法读取未定义的属性“ GoogleAuthProvider”

我在做什么错了?

1 个答案:

答案 0 :(得分:-1)

下周我遇到了同样的问题,此后我就解决了。

您能指出您在哪里包含以下或其他版本的身份验证库吗?

<script src="/__/firebase/[version number]/firebase-auth.js"></script>

如果缺少该代码,可以将其粘贴到代码之前。

我安装了整个软件包-$ npm install --save firebase

我的配置文件看起来像

import firebase from "firebase/app";
import "firebase/storage";
import "firebase/firestore";
import "firebase/auth";

const firebaseConfig = {
  apiKey: "......",
  authDomain: ".....",
  databaseURL: ".....",
  projectId: ".....",
  storageBucket: ".....",
  messagingSenderId: "......",
  appId: "......",
  measurementId: "...."
};

// Initialize Firebase
firebase.initializeApp(firebaseConfig);

export const projectStorage = firebase.storage();
export const projectFirestore = firebase.firestore();
export const timestamp = firebase.firestore.FieldValue.serverTimestamp;
export const auth = firebase.auth();
export const provider = new firebase.auth.GoogleAuthProvider();

export const signInWithGoogle = () =>{
  auth.signInWithRedirect(provider).then(function(){
   
  });
};

我可以打电话

const logIn = () => {
 let ret =  signInWithGoogle();
  console.log(ret);
  getCredentials();
}

在导航栏中。