開発者 / OAuth

PKCEコードベリファイアとコードチャレンジのジェネレーター

RFC 7636に準拠し、OAuth 2.0 PKCEのコードベリファイア、S256コードチャレンジ、state値を生成します。既存のベリファイアからチャレンジを確認することもできます。

PKCEコードベリファイアとコードチャレンジのジェネレーター: PKCEは、モバイルアプリやシングルページアプリなど、秘密情報を安全に保持できないアプリのOAuth認可コードフローを保護します。ベリファイアは、非予約文字からなるランダムな文字列です。このツールでは、ブラウザの安全な乱数生成機能から偏りなく文字を選びます。チャレンジは、ベリファイアをSHA-256でハッシュ化し、Base64urlエンコードしたものです。この計算はRFC 7636の計算例と一致します。 サーバーへのファイルアップロードは一切なく、100%ブラウザ内でローカル実行します。

カテゴリ
開発者ツール
実行回数
ブラウザ内で
コスト
無料 · 登録不要
提供状況
すぐに使えます
PKCEコードベリファイア・チャレンジジェネレーターローカル処理

完全にブラウザ内で実行します

code_verifier—
code_challenge (S256)—
code_challenge_methodS256
state—

認証リクエストとともにcode_challengeとcode_challenge_method=S256を送信し、ベリファイアはクライアント上で秘密に保管して、トークンリクエストとともに送信します。チャレンジは、RFC 7636で定義されているベリファイアのBase64url SHA-256です。

フローの概要

アプリは検証コードを生成して保持し、サインインリクエストとともにチャレンジを認可サーバーへ送信します。認可コードを受け取ったら、そのコードと検証コードを使ってトークンと交換します。コードを傍受した攻撃者も、検証コードなしでは使用できません。

受け取ったトークンを確認するには、JWTデコーダーを使用してください。

現在はすべてで必須

OAuth 2.1と現在のセキュリティのベストプラクティスでは、機密性の高いサーバーサイドクライアントを含め、認可コードフローを使うすべてのクライアントにPKCEを推奨しています。

使い方

  1. ベリファイアの長さを43~128文字から選び、「生成」を押します。
  2. コードチャレンジとメソッドを認可リクエストにコピーします。
  3. トークンリクエスト用にベリファイアを保管します。ベリファイアを貼り付けると、そのチャレンジを確認できます。

プライバシーと制限事項

値はブラウザ内で生成され、外部に送信されることはありません。

関連ツール

よくある質問

plainとS256のどちらを使うべきですか?

クライアントがSHA-256を計算できる場合は、常にS256を使用してください。最新のプラットフォームはすべて計算できます。plainは、SHA-256を計算できないクライアントのためだけに存在します。

state値は何のために使いますか?

クロスサイトリクエストフォージェリから保護するために使います。認可リクエストと一緒に送信し、同じ値が返ってきたことを確認してください。

ベリファイアはどのくらいの長さにすべきですか?

少なくとも43文字にしてください。64文字以上が一般的です。128文字までであれば、長くしてランダム性を高めても互換性の問題はありません。

無料ツール · ブラウザ内で · アカウント不要