我尝试使用 Firebase (Google) 身份验证,但收到此错误:
此应用程序运行的环境不支持此操作。 “location.protocol”必须是 http、https 或 chrome-extension,并且必须启用 Web 存储。
我的代码是:
var provider = new firebase.auth.GoogleAuthProvider();
function Singin(){
firebase.auth().signInWithPopup(provider).then(function(result) {
var user = result.user;
console.log(user);
}).catch(function(error) {
console.log(error);
console.log(error.message)
});
}
完整的错误是:
zi {code: "auth/operation-not-supported-in-this-environment", message: "This operation is not supported in the environment…chrome-extension and web storage must be enabled."}
code: "auth/operation-not-supported-in-this-environment"
message: "This operation is not supported in the environment this application is running on. "location.protocol" must be http, https or chrome-extension and web storage must be enabled."
__proto__: Error
如果您在本地运行项目,则可以通过启动本地服务器来解决此问题,而不是直接在浏览器中打开文件。这就是我修复我的问题的方法。
无法使用 NodeJS 运行客户端 JS,其中
location.protocol
可能是 typeof "undefined"
。您在环境中使用了错误的客户端库;尝试另一个。 JavaScript 和 JavaScript 不一定是同一个东西...
安装实时服务器扩展,然后使用 localhost:5500 端口 5500 我在netlify中尝试过同样的事情,它会出现同样的问题,请阅读本文档(https://docs.netlify.com/security/secure-access-to-sites/identity/)它将是如果您使用 netlify 部署您的网站,那么很有用
我也遇到了这个错误。 我通过在线托管我的项目来修复它