IT用語集 › セキュリティ › PKCE

PKCE

セキュリティ Svenska → 更新: 2026-10-22

Proof Key for Code Exchange。OAuth の認可コードフローをパブリッククライアント(モバイルアプリや SPA)向けに守る拡張で、RFC 7636(2015 年)で定義された。どのみち秘密にできない client_secret を不要にする。

クライアントは 43〜128 文字のランダムな code_verifier を作り、そのSHA-256である code_challenge を認可リクエストに添えて送る。トークン交換の際に verifier を送り、サーバーが SHA256(verifier) と最初の challenge の一致を確かめる。認可コードが盗まれても、verifier がなければ攻撃者は引き換えられない。OAuth 2.1(ドラフト)では公開クライアントに限らず全クライアントで PKCE が必須になる。AWS Cognito、Auth0、Okta も SPA のフローで PKCE を要求する。

← 用語集に戻る