パスワードリマインダー/パスワードリセットを設定する

会員登録サイトでは、ユーザーが登録したパスワードを忘れた際、パスワードを再発行するためのリマインダー機能が必要になります。
メールに記載されたパスワード変更ページ用URLからユーザー自身が変更をすることができます。また、ユーザー自身でパスワード情報を変更する機能も必要になります。

本チュートリアルでは、パスワードリマインダーとパスワードリセットを実行するエンドポイントを作成する方法を記載します。

パスワードリマインダーの設定

ユーザーがパスワードを忘れてしまった際に、パスワード再発行をするためのリマインダーメールを送信することができます。

1. パスワードリマインダー用のエンドポイントを作成する

パスワードリマインダー用のエンドポイントを作成します。 [API]より対象のAPIを選択し、API管理画面より [Configure Endpoint] をクリックます。

Image (fetched from Gyazo)

今回は下記設定にてエンドポイントを作成します。

Image (fetched from Gyazo)

設定項目設定
パスrepass
有効/無効有効
モデルカテゴリー認証
モデルLogin
オペレーションreminder
password_reset_page_url/repass

設定後、[+Add]をクリックします。

Image (fetched from Gyazo)

2. パスワードリマインダーメール送信する

次に、作成したエンドポイントの実装内容をSwagger UIを利用して確認します。
API画面より、[Swagger UI]をクリックします。

Image (fetched from Gyazo)

Swagger UI画面が表示されるので、先ほど作成したエンドポイントをクリックします。

Image (fetched from Gyazo)

[Try it out]をクリックします。

Image (fetched from Gyazo)

テキストエリアのメールアドレスに、サイトに登録されているユーザーのメールアドレスを記入し、[Execute]をクリックします。

Image (fetched from Gyazo)

レスポンスコード:200でデータがデータがレスポンスされることが確認できました。

Image (fetched from Gyazo)

メールも送信されていることが確認できます。

Image (fetched from Gyazo)

パスワード再設定時に利用するので、パスワード設定画面の「?token=」以降の文字と、仮パスワードはコピーしておいてください。

なお、ユーザー登録されていないメールアドレスを記入すると、エラーが表示されます。

Image (fetched from Gyazo)

3. パスワード再設定を行う

次に、メールで送られてきた内容をもとにパスワード再設定を行います。 同じSwagger UI画面の「Request body」を下記のように修正します。

{
    "token": "*****",
    "temp_pwd": "*****",
    "login_pwd": "*****"
}
項目
tokenメールに記載されているtoken
(「?token=」以降の文字)
temp_pwdメールに記載されている仮パスワード
login_pwd新パスワード

記載したら[Execute]をクリックします。

Image (fetched from Gyazo)

レスポンスコード:200でデータがデータがレスポンスされることが確認できました。

Image (fetched from Gyazo)

以上でパスワードリマインダーの設定と、Swagger UIでの確認、パスワード再設定方法を完了します。

パスワードリセットの設定

ユーザーにてパスワード再設定をする際に利用します。

1. パスワードリセット用のエンドポイントを作成する

パスワードリセット用のエンドポイントを作成します。 [API]より対象のAPIを選択し、API管理画面より [Configure Endpoint] をクリックます。

Image (fetched from Gyazo)

今回は下記設定にてエンドポイントを作成します。

Image (fetched from Gyazo)

設定項目設定
パスpassword_reset
有効/無効有効
モデルカテゴリー認証
モデルLogin
オペレーションreset_password

設定後、[+Add]をクリックします。

Image (fetched from Gyazo)

2. パスワードリセットを行う

次に、作成したエンドポイントを利用してパスワードリセットを実行します。今回はSwagger UIを利用して確認します。
API画面より、[Swagger UI]をクリックします。

Image (fetched from Gyazo)

Swagger UI画面が表示されるので、先ほど作成したエンドポイントをクリックします。

Image (fetched from Gyazo)

[Try it out]をクリックします。

Image (fetched from Gyazo)

テキストエリアに下記記入します。

項目
login_idユーザーのメールアドレス
current_password現在のパスワード
new_password新しいパスワード

記入したら、[Execute]をクリックします。

Image (fetched from Gyazo)

レスポンスコード:200でデータがデータがレスポンスされることが確認できました。

Image (fetched from Gyazo)

なお、ユーザー登録されていないメールアドレスを記入すると、エラーが表示されます。

Image (fetched from Gyazo)

以上でパスワードリセットの設定と、Swagger UIでの確認方法を完了します。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。