【Rails】JWTを利用したログインAPIと認証付きAPIの実装
今回のゴール 実装の仕様について バックエンド関連 JWT関連 API関連 下準備 ユーザーの作成 認証対象のユーザーを作成します。ActiveModel::SecurePassword::ClassMethodsのドキ…
今回のゴール 実装の仕様について バックエンド関連 JWT関連 API関連 下準備 ユーザーの作成 認証対象のユーザーを作成します。ActiveModel::SecurePassword::ClassMethodsのドキ…
前回、JWTの概要と構成要素(ヘッダ/ペイロード/署名)を理解するでJWTの概要について紹介しました。 今回はruby-jwt(jwt gem)を利用してペイロードをJWTにエンコード、JWTをペイロードにデコードする方…
JWTについて JWTはJSON Web Tokenの略で、署名されたJSON形式のクレーム(Claim、情報、内容、属性情報)をURLセーフな形で表現する際のトークンの仕様です。JWTの仕様はRFC 7519で定義され…
OpenSSL::PKey::RSAクラスを利用してRSA暗号の秘密鍵と公開鍵の作成方法について、今回は以下の2つの方法を紹介します。 乱数を利用する方法 OpenSSL::PKey::RSAのgenerateメソッドを…
サーバサイドで作成したCookieをサブドメイン間で送受信するケースにおいて、Cookie作成時のドメインオプションがCookie送受信へ与える影響について紹介します。 ドメインオプションと作成されるCookieのDom…
オリジン間リソース共有 (Cross-Origin Resource Sharing, CORS)において、Rails APIとフロントのfetch API間でCookieを送受信できるようにする方法について紹介します。…
前回、RailsでセッションとCookieを操作する方法でRailsにおけるセッションとCookieの操作方法について紹介しました。 前回の記事のRailsアプリケーションはモノリス前提でしたが、今回はAPIモードでCo…
セッションとはステートレスなHTTP通信においてステートフルを実現するための情報、Cookieとはブラウザに用意されたデータの保存領域のことをいいます。 セッションの保存先にはいくつか候補がありますが、例えばセッションを…
Railsのセッション情報はデフォルトでCookieに保存されます。 Railsのセッション管理方法は変更が可能で、Cookieの代わりにインメモリDBを採用するケースがよくあります。 今回はセッションの管理方法をCoo…
前回、『deviseのインストール手順をシンプルなログイン機能の実装で理解する』でdeviseを利用した認証機能の実装方法について紹介しました。 deviseでは、サインイン・サインアウト後のリダイレクトURL(遷移先の…
deviseを利用することで簡単に認証機能をRailsアプリケーションに構築できます。 今回はdeviseをインストールする手順について紹介します。 今回実装する内容について deviseを利用するとさまざまなことができ…