kotarou1192 / blog_api

0 stars 0 forks source link

jwtによるログイントークンの発行 #18

Closed kotarou1192 closed 2 years ago

kotarou1192 commented 2 years ago

実装完了。テストも書いた。
だけど有効期限がまだない。
30日くらいにしたほうがいいのかもね。

kotarou1192 commented 2 years ago

[FYI] : #3 に記載のredisにセッション保存機能について

kotarou1192 commented 2 years ago

[MUST] : ログインの期限を決める

kotarou1192 commented 2 years ago

[IMO] : ログイン機能のインターフェースは統一したほうがいい。

ログイン・ログアウト操作オブジェクトに同じインターフェースを持った任意のトークン排出機能オブジェクトを突っ込んで、全く同じように扱えるようにしたらいいと思う。 具体的には、引数にトークン発行オブジェクトを取る認証オブジェクトを作成して、引数のオブジェクトにjwtとかredisつかったtokenクラスなどのインスタンスを突っ込む。 認証オブジェクトに生えたログインする関数を叩くと、いい感じに複数のログイン方法を選べるのってかっこいいよね。

要するにDIコンテナ作ろう

kotarou1192 commented 2 years ago

[NITS] : 英語の危険が危ない。

https://github.com/kotarou1192/weekly_schedule_planner_api/tree/feature/login/app/controllers/concerns 英語に似た何かの言語で書かれている。せめて文末にはピリオド打とう。

kotarou1192 commented 2 years ago

[FYI] : #3 に記載のredisにセッション保存機能について

  • models/session.rbをつかえばいける。

面倒臭いのでredis認証はなしで。

kotarou1192 commented 2 years ago

[MUST] : ログインの期限を決める

  • 現在ログイン期限がないので永遠にログインしたままになる。payloadに期限を入れて、それに沿って判定をしたほうが良い。
  • 10日とかでいいんじゃないかな

これから対応します

kotarou1192 commented 2 years ago

[IMO] : ログイン機能のインターフェースは統一したほうがいい。

ログイン・ログアウト操作オブジェクトに同じインターフェースを持った任意のトークン排出機能オブジェクトを突っ込んで、全く同じように扱えるようにしたらいいと思う。 具体的には、引数にトークン発行オブジェクトを取る認証オブジェクトを作成して、引数のオブジェクトにjwtとかredisつかったtokenクラスなどのインスタンスを突っ込む。 認証オブジェクトに生えたログインする関数を叩くと、いい感じに複数のログイン方法を選べるのってかっこいいよね。

要するにDIコンテナ作ろう

複数の認証とか誰も喜ばないのでなしで。

kotarou1192 commented 2 years ago

対応完了。指定日数後に無効になるトークンを生成できるようになった。テストも書いて通った。