2016-05-18 1 views
1

je tente de migrer mon projet google-auth-seulement de firebase 2.x à 3,0 en utilisant l'exemple de web-sdk de: https://github.com/firebase/quickstart-js/blob/master/auth/google-redirect.htmlfirebase v3 - google auth "erreur interne"

Après avoir configuré l'initialisation -code avec apiKey (via Google-Developer-Console - utilisé l'option-server) et toutes les autres options nécessaires, j'utilise le bouton "login with google". Après cela, un écran de redirection apparaît, puis redirige vers la page de démarrage et obtient un "auth/internal-error".

Des suggestions?

Répondre

3

Je vous recommande d'importer votre projet dans le Firebase Console plutôt que de configurer les touches manuellement si possible, mais sachez que certains cas ne sont pas idéaux. Pour la clé API, essayez de basculer vers la clé de type "Browser" plutôt que celle de "Server" pour tout ce qui s'exécute dans le navigateur, et assurez-vous qu'il est approuvé pour le domaine que vous utilisez.

Google Connexion nécessite également un identifiant client. Le moyen le plus simple de mettre en œuvre est d'utiliser la méthode signInWithPopUp, mais il existe des instructions pour manually configuring le Google Sign In lib aussi.

Si vous avez besoin de créer un ID de client, vous pouvez voir les instructions complètes dans le Google Sign In documentation.

+0

thx pour votre réponse. Je ne peux pas utiliser Browser, car l'API-Key se décharge après 24h. SignInWithPopUp n'est pas une solution, car sur mobile, il n'est pas recommandé avec les pop-ups. –

+0

Je crois que le pop up fonctionne bien sur mobile, mais comprenez votre inquiétude. Concernant l'autre partie, comment voulez-vous dire les rejets après 24 heures? Il n'y a pas d'expiration sur les clés API. –

+0

vous avez raison concernant l'expiration de 24h. ça se voit, quand je crée un nouveau. désolé pour cette fausse déclaration. J'ai maintenant essayé le navigateur, mais obtenir: "ce domaine n'est pas autorisé pour les opérations OAuth, modifiez la liste des domaines autorisés à partir de la console Firebase". mais mon domaine est dans cette liste. –

-2

J'ai eu un autre projet AppEngine accédant à Firebase Storage. En utilisant les informations d'identification d'accès à Google comme ci-dessous ont donné l'auth/erreur interne

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

Utilisation du signInWithPopup a résolu le problème.

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; 
    // ... 
});