web-dev-qa-db-ja.com

Firebaseを使用したWebGoogle認証

キャッチされない例外:エラー:この操作は、このアプリケーションが実行されている環境ではサポートされていません。 「location.protocol」はhttp、https、またはchrome-extensionである必要があり、Webストレージが有効になっている必要があります。

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);
}
7
ArunKarthick

キャッチされない例外:エラー:この操作は、このアプリケーションが実行されている環境ではサポートされていません。 「location.protocol」はHTTP、HTTPS、またはchrome-extensionである必要があり、Webストレージが有効になっている必要があります。

最近、私も同じエラーに直面しました。

このファイルは、Webサーバーなしでブラウザで直接開いています。ファイルを直接開くと、Firebase認証は機能しません。問題が解決するはずのWebサーバーを介してHTMLをロードしてみてください。このバグの背後にある理由は、認証サービスを使用するときにWebストレージを使用するためです。 WebブラウザなしでHTMLファイルを直接開くと、Webストレージが機能しません

たとえば、Apacheを使用し、ブラウザで http://localhost/filename.html のようにApacheを介して開きます。

6

このコードを試してください。動作するはずです。

    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);
    });
0
Damien Asseya