使用firebase进行Web身份验证

时间:2017-06-21 16:16:09

标签: javascript firebase google-drive-api firebase-authentication adobe-indesign

  

未捕获的异常:错误:不支持此操作   此应用程序正在运行的环境。 “location.protocol”必须   必须启用http,https或chrome-extension和网络存储。

var config = {
apiKey: "*****",
authDomain: "******",
};
firebase.initializeApp(config);
var provider = new firebase.auth.GoogleAuthProvider();
provider.addScope('profile');
provider.addScope('https://www.googleapis.com/auth/drive');
firebase.auth().signInWithRedirect(provider);
alert(1);
}

3 个答案:

答案 0 :(得分:5)

  

未捕获的异常:错误:不支持此操作   此应用程序正在运行的环境。 “location.protocol”必须   必须启用HTTP,HTTPS或Chrome扩展程序和网络存储。

最近即使我遇到同样的错误。

您正在浏览器中直接打开此文件而不使用任何Web服务器。如果直接打开文件,Firebase身份验证将不起作用。尝试通过Web服务器加载HTML,它应该解决您的问题。 这个错误背后的原因是当您使用身份验证服务时,他们将使用Web存储。在没有任何Web浏览器的情况下直接打开HTML文件时,Web存储不起作用

例如,使用apache并通过浏览器中的http://localhost/filename.html等apache打开

答案 1 :(得分:0)

试试这段代码。它应该工作。

    var config = {
    apiKey: "*****",
    authDomain: "******",
    };
    firebase.initializeApp(config);
    var provider = new firebase.auth.GoogleAuthProvider();
    provider.addScope('profile');
    provider.addScope('https://www.googleapis.com/auth/drive');
    firebase.auth().signInWithRedirect(provider);
    //add the code below to your previous lines
    firebase.auth().getRedirectResult().then(function(authData) {
        console.log(authData);
    }).catch(function(error) {
        console.log(error);
    });

答案 2 :(得分:-1)

最简单的方法... 只需将文件上传到github并使用github页面即可运行(即https://ur name.github.io/yr dir / yr html文件。

相关问题