バックエンドはRails6、フロントはReact.jsで商品販売系のWebアプリを作成しています。
認証については、gemのdevise token authを採用しました。
このdevise token authですが、リクエスト毎に認証トークンを変更する方法がオプションで選択できるようになっていますが、
これを実現する場合、メール認証の場合(今回メール認証を行う予定)、毎回のリクエスト時に、IDとパスワードを入力するような方法しかないと考えておりますが、いかがでしょうか。
そして、これでは、販売系の一般的なアプリとして成立しないのでは、と思われます。
また、リクエスト毎にトークンを変更する方法をとらずに、ブラウザのローカルストレージにトークンを保存した場合、
例えばこれがデフォルトの設定値の2週間であっても他者にこれをぬき取られてしまう危険性があると各所にかかれていました。
では、一般的に、このdevise token authはどのように利用されているのでしょうか。
なかなか一般的というのが難しいとは思いますが、ご教示いただけますと幸いです。
ーーーーーーーーーー
shinoharat様の回答によって、サインインにリクエストしなくとも、毎回のリクエストで新たなトークンが取得されることが確認できました。大変にありがとうございました。
ただ、この状態でブラウザを落として、再びページをみてみると最後のリクエストで取得したトークンでログインが可能となっていました。 とすると、他者にこれを抜き取られた場合、ログインが可能となってしまうのではないでしょうか。
とりあえずひとつ解決しましたので、質問を別途立ち上げたいと思います。
あなたの回答
tips
プレビュー