Closed kotarou1192 closed 2 years ago
ログイン・ログアウト操作オブジェクトに同じインターフェースを持った任意のトークン排出機能オブジェクトを突っ込んで、全く同じように扱えるようにしたらいいと思う。 具体的には、引数にトークン発行オブジェクトを取る認証オブジェクトを作成して、引数のオブジェクトにjwtとかredisつかったtokenクラスなどのインスタンスを突っ込む。 認証オブジェクトに生えたログインする関数を叩くと、いい感じに複数のログイン方法を選べるのってかっこいいよね。
要するにDIコンテナ作ろう
https://github.com/kotarou1192/weekly_schedule_planner_api/tree/feature/login/app/controllers/concerns 英語に似た何かの言語で書かれている。せめて文末にはピリオド打とう。
[FYI] : #3 に記載のredisにセッション保存機能について
- models/session.rbをつかえばいける。
面倒臭いのでredis認証はなしで。
[MUST] : ログインの期限を決める
- 現在ログイン期限がないので永遠にログインしたままになる。payloadに期限を入れて、それに沿って判定をしたほうが良い。
- 10日とかでいいんじゃないかな
これから対応します
[IMO] : ログイン機能のインターフェースは統一したほうがいい。
ログイン・ログアウト操作オブジェクトに同じインターフェースを持った任意のトークン排出機能オブジェクトを突っ込んで、全く同じように扱えるようにしたらいいと思う。 具体的には、引数にトークン発行オブジェクトを取る認証オブジェクトを作成して、引数のオブジェクトにjwtとかredisつかったtokenクラスなどのインスタンスを突っ込む。 認証オブジェクトに生えたログインする関数を叩くと、いい感じに複数のログイン方法を選べるのってかっこいいよね。
要するにDIコンテナ作ろう
複数の認証とか誰も喜ばないのでなしで。
対応完了。指定日数後に無効になるトークンを生成できるようになった。テストも書いて通った。
実装完了。テストも書いた。
だけど有効期限がまだない。
30日くらいにしたほうがいいのかもね。