質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

1回答

2108閲覧

Firebaseのメールアドレス認証によるサインインができない(サインアップはできる)

thatnaoki

総合スコア32

Firebase

Firebaseは、Googleが提供するBasSサービスの一つ。リアルタイム通知可能、並びにアクセス制御ができるオブジェクトデータベース機能を備えます。さらに認証機能、アプリケーションのログ解析機能などの利用も可能です。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2018/11/10 06:53

Firebaseを使ってwebサービスを作成しております。

Firebaseのメールアドレスとパスワードによる認証を実装しているのですが、サインアップはできても、サインインができません。

下記が該当箇所のコードになります。

javascript

1// クリックイベント 2signup.addEventListener('click', e => { 3 e.preventDefault(); 4 signUp(); 5}) 6 7signin.addEventListener('click', () => { 8 signIn(); 9}) 10 11// サインアップ 12function signUp() { 13 const email = document.querySelector('#email').value; 14 const password = document.querySelector('#password').value; 15 const username = document.querySelector('#username').value; 16 const sex = document.querySelector('#sex').value; 17 const age = document.querySelector('#age').value; 18 19 console.log(email, password, username, sex, age); 20 21 auth.createUserWithEmailAndPassword(email, password) 22 .then(obj =>{ 23 console.log(obj); 24 console.log(obj.user); 25 console.log(obj.user.uid); 26 if (obj) { 27 obj.user.updateProfile({ 28 displayName: username 29 }) 30 users_col.add({ 31 uid: obj.user.uid, 32 name: username, 33 sex: sex, 34 age: age 35 }) 36 } 37 }).catch(function(error) { 38 console.log('signup error') 39 var errorCode = error.code; 40 var errorMessage = error.message; 41 console.log(errorCode, errorMessage); 42 }); 43 } 44 45// サインイン 46function signIn() { 47 const email = document.querySelector('#email').value; 48 const password = document.querySelector('#password').value; 49 50 auth.signInWithEmailAndPassword(email, password) 51 .then(function(result) { 52 console.log(result); 53 }) 54 .catch(function(error) { 55 var errorCode = error.code; 56 var errorMessage = error.message; 57 }); 58}

これで正しいメールアドレスおよびパスワードを入力しても、サインインができません。
サインアップは問題なくできており、そうするとログイン状態にもなります。

サインインでもemailとpasswordのvalueは正しくとれているのですが、何もエラーを吐かずに画面が再読込されるだけです。

こちらの原因がわかる方、いらっしゃいましたらご回答を何卒よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

Firebase Authenticationでメールアドレス認証の設定ができますが、デフォルトだとメールアドレスの確認が必須になってたと思います(登録したアドレス宛にメールが飛んできてクリックして有効化するタイプ)
確認処理にはsendEmailVerification()で確認メールの送信をする必要がありますが行っていますか?

投稿2018/11/10 08:06

teikoku-penguin

総合スコア314

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

thatnaoki

2018/11/10 14:37

ご回答ありがとうございます! 以前サインインできていたときとほぼ同じコードを使用しており、前回は確認メールは送らずにサインインできていたので、確認メールはオプションで設定できる認識でした 試してみようと思います。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問