2017-06-20 5 views
0

私はバックエンドのためのイオン3とfirebaseを使用しています。私のアプリでは、ユーザーにユーザー名とパスワードだけでサインアップしようとしています。よくfirebaseはデフォルトではそのオプションを提供しません。だから私はユーザー名(例えば: 'mike123')としてユーザーの入力を取得してから、@ myapp.comを追加します。それは電子メールのように見えます: '[email protected]'。それでも問題ないですが、ユーザーがパスワードをリセットしたいときに問題が発生しました。ユーザーがパスワードをリセットしたいときに、有効な電子メールアドレスを入力できるようにすることはできますか?ユーザはfrebaseでパスワードをリセットしたときに電子メールを選択できますか?

答えて

1

お客様https://firebase.google.com/docs/auth/admin/manage-users#update_a_userでパスワードを変更してください。これはFirebase Admin SDKにありますので、管理するサーバやクラウド機能などの信頼できる環境でコードを実行する必要があります。

しかし、電子メールアドレスを偽ってユーザー名+パスワードを偽装するのは理想的ではありません。あなたのニーズに合わせたカスタム認証プロバイダの作成を検討したいと思います。

+0

thx @Frank van Puffelen。私はカスタム認証を見ていきます。 – Mikethetechy

+0

私の答えが役に立ったら、その左側のupvoteボタンをクリックしてください。あなたの質問に答えた場合は、チェックマークをクリックしてそれを受け入れます。そうすれば、他の人はあなたが(十分に)助けられたことを知ることができます。 –

+0

ありがとう、それは役に立ちました。申し訳ありませんが、私の悪いことはupvote /チェックマークを忘れた – Mikethetechy

1

パスワードのリセット要求を送信する際に提供された電子メールがどのユーザーにも存在しない場合は、失敗します。アンドロイドで

、非既存の電子メールでsendPasswordResetEmailを呼び出し、それが戻ってくる:

FirebaseAuthInvalidUserException: There is no user record corresponding to this identifier. The user may have been deleted. 

あなたはユーザーから有効な電子メールを尋ねると、ユーザーの作成時に別途好みのユーザー名を保存する必要がありますが。

+0

thx @AL。返信のために、その場合私はユーザー名を使用してユーザーにログインすることはできませんright..itは有効な電子メールアドレスでなければなりません – Mikethetechy

+0

必ずしもそうではありません。ログイン中に、提供されたユーザー名に対応する電子メールがあるかどうかを確認し、ログインに使用することができます(この[answer](https://stackoverflow.com/a/41201980/4625829)を参照)。しかし、私はこの方法を試していませんでした(私は電子メールを直接使用しました)ので、認証されていないユーザーに読み取りアクセスを許可するのが安全かどうかはわかりません。 –

+0

ic私は、提案@ALのための素晴らしい..thxxとなる対応する電子メールでユーザー名を確認できます。 – Mikethetechy