なぜID Tokenにはsub Claimが必須なのか
はじめに 先日ふと ID Token について調べていました。 その ID Token で必須 Claim を見ていたのですが、sub クレームの存在理由があまり腑に落ちませんでした。 ID Token の使用用途を考えた時、sub 属性を活用する場面がないとその時は思ったためで…
はじめに 先日ふと ID Token について調べていました。 その ID Token で必須 Claim を見ていたのですが、sub クレームの存在理由があまり腑に落ちませんでした。 ID Token の使用用途を考えた時、sub 属性を活用する場面がないとその時は思ったためで…
はじめに JavaScriptには鍵周りを取り扱うことができるCryptoがあります。 このCryptoを使用することで、共有鍵や公開鍵・秘密鍵を作成できます。 なので今回はCryptoを使用して、以下のことをやっていきます。 秘密鍵・公開鍵の作成 共有鍵による秘密鍵の暗号化 秘…
はじめに 以下のような記事が投稿されるなど、認可処理を行うためのサーバーはますます増えていくと感じています。 そして、こういった認可管理を一元化するために、IdP(Identity Provider)を導入するというのは自然なアプローチかなと思います。 また、IdPへの負荷なども…
このブログの内容について npm Trusted Publisherの概要と、その利点を説明します。 合わせて、半自動ガイドスクリプト( guide.sh )が実際に行うnpm/GitHub操作に沿って、npm Trusted Publisherを設定する手順を説明します。 ブロ…
はじめに まずは以下の Authorization Code Flow における、トークンを取得するためのリクエストをご覧ください。 次にもう一つのトークンを取得するためのリクエストをご覧ください。 違いは client secret クエリがあるか、code verifier …
はじめに 高リスクな操作(例:高額決済)を実行する前に、ユーザーに承認を求めたいというケースがあります。このようなユースケースで最初に候補に上がるのが CIBA(Client Initiated Backchannel Authentication)です。 CIBAは、操作を開始…
はじめに ユーザー認証を行うための手段の一つとして、OpenId Connect(以降 OIDC)があります。 OIDC は OAuth の機能を拡張して、認証でも使用できるようにしたものとなります。 この OIDC によって、一つのサーバーで複数アプリ内のユーザーを管理すること…
はじめに OktaにはSAML、Web Services Federation(WS Fed)、OpenID Connect(OIDC)などのフェデレーションプロトコルをサポートしない外部のWebアプリケーションにシングルサインオン(SSO)の機能を提供するための仕組みがあります…
はじめに 先日以下のツイートを見かけました。 以前記事も書いており、密かに待ち望んでいたDevice Bound Session Credentials(以降DBSC)のオリジントライアルが始まったとのことです。 なので、早速実装してみたのがこの記事となります。 なお、発表したの…
先日以下のプルリクエストがクローズされました。 MCPのAuthorizationについての改定で、様々な議論がされていました。 その中で今回はDPoPについての議論と個人的に感じたことを書きます。 DPoPとその周辺の概念について DPoPは受け取ったアクセストークンが正当な持…
はじめに 現在ログインアプリを作成しているのですが、ふとパスワードをハッシュ化する時のお作法は何か疑問に感じました。 そこで今回はOWASPが展開しているパスワード保存についてのチートシートを見ていきます。 私と同様な疑問を感じた方は見ていただけますと幸いです。 でははじめます。…
はじめに 以前NestJS のドキュメントをもとに認証方法を実装する記事をあげました。 もちろん、上記やり方でもいいのですが世の中には passport という便利なモジュールがあります。 これを使えば多種多様な検証を行うことができ、とても有用です。 そこで今回は、ドキュメントか…
はじめに APIを公開したいな、その際に認可の仕組みを導入したいなと思った時の選択肢に挙げられるのがOAuth2.0かと思います。 アクセストークンを発行するための、様々な仕様が策定されておりより多くのケースに対応できます。 今回はその中でも、以下のようなケースでトークンの受け渡…
はじめに 少し前にAuth0がToken Vaultを発表しました。 私がToken Vaultを見つけたのはAIエージェント関連の文脈だったので、最初はAI専用の機能かと思っていました。 しかし、実際に触ってみるともちろんAIの文脈で使えることは間違いない のですが、必ずしもAI…
(今回は短めです) 現在Cookieの盗難対策として、Device Bound Session Credentials(以降はDBSC)という仕様が提言されています。 これは、デバイスに保存した秘密鍵を使い、セッションの発行・更新をデバイスに紐づけることで盗難リスクを低減させる仕…
はじめに 最近Xにて、証券系のサイトのセッションの扱いが話題になっていました。 そのやりとりを見て、Device Bound Session Credentials(以降DBSC)の緩和策として使えるのではないかと感じていました。 今回は上記の思いが、本当にあっているかを自分の中…