[解決済み] Firebaseにユーザーが存在するかどうかを確認するにはどうすればよいですか?
2022-02-07 01:15:27
質問
ようやくユーザーの作成とログイン・ログアウトの認証ができるようになりました。 しかし、今度はそのユーザーがすでにFirebaseに存在しているかどうかをチェックするものを実装したいのです。 調べてみたのですが、具体的な答えが見つからないようです。
例えば、私のメールアドレスが [email protected] で、他の人が同じメールアドレスでサインアップしようとした場合、すでに取られていることを伝えるにはどうしたらよいでしょうか。
login(e) {
e.preventDefault();
fire.auth().signInWithEmailAndPassword(this.state.email, this.state.password)
.then((u) => {
}).catch((error) => {
console.log(error);
});
}
signup(e) {
e.preventDefault();
fire.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
.then((u) => {
}).catch((error) => {
console.log(error);
});
}
解決方法は?
メソッドから返されるエラー
createUserWithEmailAndPassword
には
code
プロパティを使用します。にあたります。
ドキュメント
エラー
code
auth/email-already-in-use
:
指定されたメールアドレスを持つアカウントが既に存在する場合にスローされます。 アドレスになります。
最低限、次のような条件文を利用することができます。
if
/
else
または
switch
を確認するために、その
code
そして、ユーザーにメッセージやコードを表示/ログ/ディスパッチ/その他します。
fire.auth().createUserWithEmailAndPassword(this.state.email, this.state.password)
.then(u => {})
.catch(error => {
switch (error.code) {
case 'auth/email-already-in-use':
console.log(`Email address ${this.state.email} already in use.`);
break;
case 'auth/invalid-email':
console.log(`Email address ${this.state.email} is invalid.`);
break;
case 'auth/operation-not-allowed':
console.log(`Error during sign up.`);
break;
case 'auth/weak-password':
console.log('Password is not strong enough. Add additional characters including special characters and numbers.');
break;
default:
console.log(error.message);
break;
}
});
これで解決するといいのですが
関連
-
[解決済み】JavaScriptのボタンonclickが機能しない
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] jQueryで要素が非表示になっているかどうかを確認するには?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] JavaScriptで空文字列/未定義文字列/null文字列をチェックするにはどうすればよいですか?
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】jQueryでチェックボックスがチェックされているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】JavaScriptで':'(コロン)は何をするのか?
-
[解決済み】Uncaught ReferenceError: angular is not defined - AngularJSが動作しない。
-
[解決済み】NodeJS "ESモジュールをロードするためにインポートを使用する必要があります。"
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】SyntaxError: ChromeのJavascriptコンソールでUnexpected Identifierが発生する。
-
[解決済み】WebpackとBabelで「このファイルタイプを扱うには適切なローダーが必要な場合があります。
-
[解決済み】エラー:リスン EACCES 0.0.0.0:80 OSx Node.js
-
[解決済み】Redux TypeError: 未定義のプロパティ 'apply' を読み取れない
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?