2

Firebase Simple Login メカニズムを使用してユーザーを登録しようとしています。

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して、認可されたリクエストオリジンのリストに入れました。

私は何を間違っていますか?

4

1 に答える 1

1

簡単に言えば、「ドメイン」(この場合は localhost) は でhttpあるのに対し、オリジンはhttpsであり、この種のエラーを引き起こす傾向があります。それらが一致する場合 (ただし、この場合は両方とも HTTPS である必要があります)、これはもはや問題にはならないはずです。

アクセスを要求するフレームのプロトコルは「https」、アクセスされるフレームのプロトコルは「http」です。プロトコルが一致する必要があります。

詳細については、REST API リファレンス | を参照してください。Firebase ドキュメント:

HTTPS が必要であることに注意してください。Firebase は暗号化されたトラフィックにのみ応答するため、データは安全に保たれます。

于 2014-06-26T13:33:15.013 に答える