2016-05-18 10 views
1

Iからウェブ-SDKの例を使用して3.0にfirebase 2.xのからの私のGoogle-AUTH専用プロジェクトを移行しよう:初期化を設定した後 https://github.com/firebase/quickstart-js/blob/master/auth/google-redirect.htmlfirebase v3の - authは "内部エラー" をグーグル

-code with apiKey(Google-Developer-Console経由でサーバーオプションを使用)と他のすべてのオプションが必要な場合は、「googleでログイン」ボタンを使用します。 その後、リダイレクト画面が表示され、開始ページにリダイレクトされ、「auth/internal-error」が返されます。

提案がありますか?

答えて

3

可能であれば手動でキーを設定するのではなく、Firebase Consoleでプロジェクトをインポートすることをお勧めしますが、それが理想的でない場合があります。

APIキーについては、ブラウザで実行されているものの「サーバー」キーではなく「ブラウザ」タイプのキーに切り替えて、使用しているドメインに対して承認されていることを確認してください。

GoogleログインにもクライアントIDが必要です。実装する最も簡単な方法は、signInWithPopUpメソッドを使用することですが、manually configuring Google Sign In libの手順もあります。

クライアントIDを作成する必要がある場合は、Google Sign In documentationの完全な手順をご覧ください。

+0

thxです。 APIキーは24時間後に破棄されるため、私はブラウザを使用できません。 signInWithPopUpは解決策ではありません。モバイルではポップアップが推奨されないためです。 –

+0

ポップアップはモバイルでうまくいくと思いますが、あなたの懸念を理解してください。他の部分は、24時間後にどのように廃棄を意味するのですか? APIキーの有効期限はありません。 –

+0

あなたは24時間の有効期限について正しいです。それは、私が新しいものを作る時を示しています。この間違った声明をお詫びします。 私は今ブラウザを試しましたが、「このドメインはfpr OAuth操作を許可されていません。また、許可されたドメインのリストをFirebaseコンソールから編集してください。私のドメインはこのリストにあります。 –

-2

Firebase Storageにアクセスする別のApp Engineプロジェクトがありました。以下のように使用してGoogleのアクセス証明書はsignInWithPopupで問題が解決使用AUTH /内部エラー

var credential = firebase.auth.GoogleAuthProvider.credential(googleToken.access_token); 
firebase.auth().signInWithCredential(credential).then(function(result) { 
// My Further Code 
} 

を与えました。

var provider = new firebase.auth.GoogleAuthProvider(); 
firebase.auth().signInWithPopup(provider).then(function(result) { 
    // This gives you a Google Access Token. You can use it to access the Google API. 
    var token = result.credential.accessToken; 
    // The signed-in user info. 
    var user = result.user; 
    // ... 
}).catch(function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    var errorMessage = error.message; 
    // The email of the user's account used. 
    var email = error.email; 
    // The firebase.auth.AuthCredential type that was used. 
    var credential = error.credential; 
    // ... 
}); 
関連する問題