我正在尝试使用Firebase简单登录机制注册用户:
angular.module('MyApp').controller('LoginCtrl', function($scope, $firebaseSimpleLogin, FIREBASE_ROOT) {
$scope.loginService = $firebaseSimpleLogin(new Firebase(FIREBASE_ROOT));
$scope.user = {
email: '',
password: ''
};
$scope.register = function() {
console.log('creating user...'); // I see this
$scope.loginService.$createUser($scope.email, $scope.password).then(function(user) {
console.log('done!'); // But not this
console.log(user);
});
};
});
但是,我在控制台中看到以下错误:
Uncaught SecurityError: Blocked a frame with origin
"https://s-dal5-nss-15.firebaseio.com" from accessing a frame with origin
"http://localhost:8100". The frame requesting access has a protocol of "https",
the frame being accessed has a protocol of "http". Protocols must match.
并且,$createUser
回调未执行。
我启用了“电子邮件和密码”身份验证,并将localhost
放入了授权请求来源列表中。
我做错了什么?
答案 0 :(得分:1)
简单地说,您的“域”(本例中为localhost)为http
,而原点为https
,这往往会导致这类错误。我相信如果它们匹配(但是,在这种情况下,两者都必须是HTTPS),这应该不再是一个问题:
请求访问的帧具有协议“https”,即帧 被访问的协议为“http”。 协议必须匹配。
可以在REST API Reference | Firebase Documentation上找到更多信息:
请注意,HTTPS是必需的。 Firebase仅响应加密流量,以确保您的数据安全。