ホームRailsの覚書Vue.jsの覚書MenuSidebarPrevNextSearchdevise-jwtを利用してDeviseでJWTトークンによる認証を行うはじめにVue.jsやAngularなどのバックエンドとしてRailsを利用する際に悩むのが、認証周りの実装方法です。Railsを利用しているのですから、叶うことならイイ感じのgemを利用して、サクッと形にしてしまいたいところでしょう。Deviseを利用しようと考えている、あるいは既に利用している場合など、自前で書くのは面倒だなぁと思います。いった時に便利なのが、devise-jwtというgemでございます。installするだけです。devise-jwt必要な設定はDeviseの初期化と併せて行います。aud_headerなどが指定できるみたいですね。(参考:devise-jwt/lib/devise/jwt.rb)トークンの失効戦略については、幾つか選択肢が用意されているようです。導入が簡単なのは、JTIMatcherではないでしょうか。Deviseの対象モデルに以下の通り、その指定を入れます。マイグレーションファイルを作成して、同時にモデルに必要なカラムを追加します。Deviseにログインのリクエストを送ると、レスポンスのAuthorizationヘッダーにJWTトークンが付与されて返されるようになります。注意事項としては、こちらのgemはクッキーの利用が不可能である場合、その認証をAuthorizationヘッダーに切り替える機能を提供しているという点です。同一ドメインへのアクセスに対して、クッキーが乗ってきている場合、そちらが優先されるそうです。