baserproject / basercms

baserCMS : Based Website Development Project
http://basercms.net
Other
164 stars 125 forks source link

二段階認証 #3548

Open seto1 opened 1 week ago

seto1 commented 1 week ago

ご確認お願いします。

改修内容

変更ファイル

seto1 commented 1 week ago

@kk-uchino レビューお願いします。

kk-uchino commented 5 days ago

@seto1 @ryuring APIでcodeを取得するためにメールアドレス, パスワードのみをリクエストボディにセットして送信した場合に、レスポンスコードが401でメールにcodeが送信されているため違和感がありました。

で良いのかなと思うのですが、いかがでしょうか?

seto1 commented 3 days ago

@kk-uchino ありがとうございます。

APIでcodeを取得するためにメールアドレス, パスワードのみをリクエストボディにセットして送信した場合に、レスポンスコードが401でメールにcodeが送信されているため違和感がありました。

そうですね、今のままだとフロント側で困りそうですね。

リクエストボディにcodeが存在しない場合はレスポンスコード200で認証コードを送信 リクエストボディにcodeが存在していて、codeが一致しない場合はレスポンスコード401

ただこれだと、フロントと管理側の連携が取れていないときに意図せず200が返ってしまう可能性があります。

例: フロント: 二段階認証がOFFの前提 通常のIDとPWのログイン画面 管理側: 二段階認証がONになっている

この状態でログインしようとすると、200が返ってくることでフロント側がログインが成功したと判断してしまう可能性があります。

それを回避するために、リクエストにsend_codeが含まれていたらレスポンス200でcodeを送信するというのはどうでしょう。

kk-uchino commented 1 day ago

@seto1 確かにフロントの想定と管理側の設定が一致しない場合に問題発生しそうですね。

@ryuring

リクエストにsend_codeが含まれていたらレスポンス200でcodeを送信するというのはどうでしょう。

こちら問題ないと思うのですが、いかがでしょうか?