2016-08-17 18 views
2

Firebaseを使用して簡単なログイン/サインアップテンプレートを使用してWebアプリケーションを作成しています。私は、成功したログインの後に別のページにリダイレクトする方法や、ログインしているユーザーのために同じページにあるjavascript関数コードを実行する方法を考えていただけです。 おかげFirebaseログイン後のページへのリダイレクト - Javascript

参考: https://github.com/firebase/quickstart-js

私が使用しているテンプレートは、認証/ email.html

おかげ下にあり!

答えて

2

ユーザーからメールアドレスとパスワードを取得し、その後、いくつかのエラーがFirebaseが正常にユーザーに署名しますされていない場合、それは、メッセージを出力します発生した場合、signInWithEmailAndPasswordに値を渡す。

firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) { 
    // Handle Errors here. 
    var errorCode = error.code; 
    console.log(error.Message); 

}); 

ます。また、必要リスナーは、ログインとログアウトのステータスを処理します。彼らは正常にログインしている場合は、ユーザーをリダイレクトすることができます場所です。

ログインおよびログアウトを処理するために、常にonAuthStateChanged()

//Handle Account Status 
firebase.auth().onAuthStateChanged(user => { 
    if(user) { 
    window.location = 'home.html'; //After successful login, user will be redirected to home.html 
    } 
}); 

に瞬間を使用する誰かがuserは、ユーザの詳細が移入され、あなたが使用することができ、ログインそれは別のページにリダイレクトされます。

+0

これは私にとって非常に安全ではないようです。そのコードを調べ、 'home.html'を手動で入力することができます。ユーザーをリダイレクトするより安全な方法はありますか? –

+3

@AndréKuhlmann私はあなたがそのページにアクセスできる間は、そのユーザーが公認されていないので、データ(機密またはその他のデータ)が入力されないと想定していると思います。 – Aarmora

+0

ログイン後、リダイレクトされたページでログアウト機能を使用するにはどうすればよいですか? 2番目のページでfirebase.auth()。signOutに行きたい。どうやってやるの? –

1

locationに割り当てることができます。 location = 'https://google.com'またはlocation = '/logged-in-page.html'

+0

実際のボタンが呼び出されたとき、または別の場所でjavascriptについて話していますか? (申し訳ありません少し新しいです) –

+0

一度ログインすると、どのページにもログインします。 – csander

関連する問題