はじめに 「解説記事を幾つも読んだけど OpenID Connect を理解できた気がしない」― この文書は、そういう悩みを抱えたエンジニアの方々に向けた OpenID Connect 解説文書です。概念的・抽象的な話を避け、具体例を用いて OpenID Connect を解説していこうと思います。 この文書では、JWS (RFC 7515)、JWE (RFC 7516)、JWK (RFC 7517)、JWT (RFC 7519)、ID トークンの説明をおこないます。 追記(2020-03-20) この記事の内容を含む、筆者本人による『OAuth & OIDC 入門編』解説動画を公開しました! 1. 『ID トークン』を発行するための仕様 一般の方々に対しては「OpenID Connect は認証の仕様である」という説明で良いと思います。一方、技術的な理解を渇望しているエンジニアの方々に対
JWS/JWE/JWT/IDトークンの包含関係 JWS (JSON Web Signature) と JWE (JSON Web Encryption) の直列化方法には、それぞれ JSON 形式とコンパクト形式がある。 JWT (JSON Web Token) は JWS か JWE だが、いずれにしてもコンパクト形式である。仕様でそう決まっている。 仕様により、ID トークンには署名が必要なので、ID トークンは JWS もしくは「JWS を含む JWE」という形式をとる。 ID トークンは「JWE を含む JWS」という形式はとらない。なぜなら、仕様により、ID トークンを暗号化する際は「署名してから暗号化」という順番と決まっているため。 アクセストークン/JWT/IDトークンの包含関係 アクセストークンの実装が JWT だとは限らない。 仕様により、ID トークンは必ず JWT で
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_
JWT ハンドブック 著者: Sebastian Peyrott JWT ハンドブック Sebastián E. Peyrott、Auth0 Inc. バージョン 0.14.1、2016〜2018 1 ⽬次 ⽬次........................................................................................................................................................................................ 1 謝辞.........................................................................................................
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く