0
Firebase認証を使用してプログラムを作成しましたが、ユーザーがログインしていない場合はGoogle SignInページにリダイレクトしますが、ユーザーがログインしている場合はリダイレクトしません。それはGoogle Sign Inの後に私のページに戻り、数秒後にSignInにリダイレクトされます。ここに私のコードです:Firebase認証エンドレスループ
ユーザーはあなたが無限ループに陥っている理由あなたが並列にsignInWithRedirectとgetRedirectResultの両方を呼び出している中で、つまり署名され$(document).ready(function() {
var provider = new firebase.auth.GoogleAuthProvider();
var uid;
var user = firebase.auth().currentUser;
var xv = 0;
var yv = 0;
var xpos = 200;
var ypos = 200;
var changeRef = firebase.database().ref();
var keys = [];
if (user != null) {
uid = currentUser.uid;
firebase.database().ref('users/' + uid).set({
xpos: xpos,
ypos: ypos
});
} else {
firebase.auth().signInWithRedirect(provider);
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
// 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.
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;
// ...
});
}
var canvas = document.getElementById("canvas");
var processingInstance = new Processing(canvas, sketchProc);
});
少し問題を絞り込んだ方がよいでしょう。例えば、これはProcessing.jsとはまったく関係がありません。また、適切な字下げを使用してコードを読みやすくする必要があります。 –
私は実際にそれを修正しましたが、あなたは正しいです。それは私のフルコードであるためprocessing.jsタグを付けましたが、私はその部分を含めませんでした。インデントされたときにテキストをコードとしてマークする方法がわかりません。それはちょうど4スペースを持っていないのですか?ヒントをありがとう! –
質問に対する回答を見つけた場合は、回答を投稿するか、質問を削除するだけです。しかし、将来の参照のために、あなたは間違いなくインデントをコードブロックに含めることができます。コードブロック全体を(正しくインデントされた)コードブロックに貼り付け、強調表示してコードボタンを押してください。これにより、各行に4つのスペースが追加され、もともとの書式設定は維持されます。 –