自作アプリ作成記録19日目
さてDeviceを使う前に、どうやって認証をしていけば良いかを改めて考えてみる。
まずは認証方式としてsession方式とtoken方式のどちらが良いかを決める。色々と記事を参考にさせてもらった。ちょっと古い記事もあったが、仕組みを理解するには問題ないかなと思う。
完全理解とは流石にいかないが、今回はToken方式で実装を進めていく。主な理由として、
・SPAを実装してみたいので、なるべく処理が重たくならないようにしたい。
・Railsチュートリアルなどはsession方式だが、Token方式も試しに実装してみたい。
Token方式を取り入れるとして、実際の流れを整理してみる。それと認証サーバーはRailsがAPIサーバーと兼用で動くように実装したい(大規模アプリでは無いので負荷が大きくなるとは考えにくいので、認証サーバを別途立てる必要は無いと想定)
1.フロントエンドにてフォーム入力(Emailとパスワード)
2.フォームで受け取ったデータをRailsに送る
3.Railsにてトークンを発行して、フロントに戻す
4.晴れてログイン
こんな感じだろうか?1は教材を元にそれっぽいものを作ったので、2をどうやって作っていくかをもう少し深掘りしていく。
2-1. フロントエンドからRailsのエンドポイント(コントローラー?)にデータを投げる?
2-2. Railsの認証機能でAccess Tokenを発行?
2-3. クライアントのメモリにアクセストークンを保持
※LocalStorageに保存するというのは教材でも採用されていたが、JavaScriptで操作できてしまうという観点からメモリで実装をしたい。ページから離れてしまうとトークンが消えるということだが別に良い。
こちらの記事を参考にした。
https://applis.io/posts/how-to-authenticate-user
まずはRails側のトークンを扱う機能の実装からかな?
この記事が気に入ったらサポートをしてみませんか?