1. ホーム
  2. rest

[解決済み] RESTfulなパスワードリセット

2022-09-04 23:16:04

質問

パスワードをリセットするための RESTful リソースを構成する適切な方法は何ですか?

このリソースは、パスワードを紛失したり忘れたりした人のためのパスワードリセッターであることを意図しています。 古いパスワードを無効にして、新しいパスワードをメールで送信します。

という2つのオプションがあります。

POST /reset_password/{user_name}

または...

POST /reset_password
   -Username passed through request body

リクエストはPOSTであるべきだと確信しています。 私は適切な名前を選択したことにあまり自信がありません。 そして、user_nameがURLまたはリクエストボディを通して渡されるべきかどうかはわかりません。

どのように解決するのですか?

UPDATEしてください。 (以下のコメントへの追加)

私ならこんな感じにします。

POST /users/:user_id/reset_password

ユーザのコレクションがあり、単一のユーザは {user_name} . 次に、操作するアクションを指定します。この場合、アクションは reset_password . これはまるで、「作成 ( POST ) を作成します。 reset_password のためのアクション {user_name} "です。


前回の回答

私ならこんなので行きます。

PUT /users/:user_id/attributes/password
    -- The "current password" and the "new password" passed through the body

ユーザーコレクションと、各ユーザーの属性コレクションの2つのコレクションを持つことになります。ユーザは :user_id で指定され、属性は password . また PUT 操作はコレクションのアドレス指定されたメンバーを更新します。