JWTというJSONデータを署名してトークンとして扱う仕組みがあります。 これをRubyで扱う方法を調べてみたので、備忘録がてら書いておきます。 JWTとは JWTはJSON Web Tokenの略。 JWTが総本山で、 RFC 7519 - JSON Web Token (JWT)に規格が定義されている。 RubyでJWTを扱うには RubyでJWTを扱うためのgemがいくつかある模様。 ruby-jwt json-jwt json_web_token この中ではruby-jwtがスタンダードなようなのでこれの使い方を調べてみた。 ruby-jwt MITライセンスのオープンソース。 https://github.com/jwt/ruby-jwtでコードが公開されている。 使い方 導入 gem install jwt するか、Gemfileに
AWS Cognitoのウェブトークンの検証を実施したときのメモです。 JSON ウェブトークンの検証 - Amazon Cognito Cognitoではユーザプールごとに検証用のJWKセットをダウンロードできます https://cognito-idp.{region}.amazonaws.com/{userPoolId}/.well-known/jwks.json 使用するGem jwt jwt/ruby-jwt: A ruby implementation of the RFC 7519 OAuth JSON Web Token (JWT) standard. 通常のJWTトークンのデコードに使用 json-jwt nov/json-jwt: JSON Web Token and its family (JSON Web Signature, JSON Web Encryption
JWK Set 取得タイミング OIDC ID Tokenの署名検証時 その他 JWT 署名検証時 e.g.,) Apple の Server-to-server Notification JWK Set 取得頻度とキャッシング JWK Set には複数の鍵が含まれており、固定の URL から取得可能になっていることが多い。 OpenID Connect では /.well-known/openid-configuration にアクセスすることで JWK Set が公開されている URL (jwks_uri) を取得できる。 このエンドポイントから返される鍵は、一定期間ごとに新しいものに差し替えられたりするが、jwks_uri は固定であるため署名検証者は常にこのエンドポイントにアクセスすれば署名検証に必要な鍵が得られるようになっている。 しかし、ID Token や Server-to
2020.10.01に公開 2021.10.05に更新 Udemy 12. サーバーサイドのログイン認証 No.3 / 8 今回達成すること JWT(以下、トークン)の発行とデコードを行う、AuthTokenクラスを作成します。 このクラスはインスタンスが生成された時(newされた時) 引数にトークンがあった場合はトークンをデコードし、 トークンが無い場合はトークンを発行します。 クラスファイルの置き場所 まず、Railsの「app」ディレクトリの直下に「services(サービィシーズ)」ディレクトリを作成します。 「services」ディレクトリの中は、サービス単位でディレクトリを作成します。 今回は認証サービスを行う、「user_auth」ディレクトリを作成し、認証に使用するファイル一式を管理します。 ディレクトリ構造 api/app ├── services │ └── user_
重要. このソフトウェアは、もはやメンテナンスされていません。 OmniAuth ライブラリは何らかの認証フレームワークと組み合わせます。OpenID Connect を実装するとき、OmniAuth ストラテジとして実装しなくても、認証フレームワーク上で作ってやればよい。 認証フレームワークには Sorcery をお勧めします。Ruby on Rails の認証フレームワーク OmniAuth を使わずに, openid_connect ライブラリを直接使う形の IdP (OP) サンプルと RP サンプルを用意しました; 認証関係: サンプルプログラム OmniAuth (Ruby) 用の OpenID Connect ストラテジ。このパッケージは次のパッケージを置き換えます。 omniauth-google-oauth2 omniauth-yahoojp omniauth-azure
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く