OAuth 2.0 PKCE ジェネレーター
PKCE(Proof Key for Code Exchange、RFC 7636)は client_secret を安全に保管できないすべてのパブリッククライアント(SPA、モバイル、デスクトップアプリ)に推奨される現代の OAuth 2.0 フローです。本ツールは暗号学的に安全な `code_verifier`(unreserved URI 文字43-128文字)を生成し、`code_challenge`(S256 は SHA-256 base64url、plain は verifier そのまま)を導出、CSRF 防御用 `state` 付きの完全な authorization URL を組み立てます。付属の `curl` 例でトークン交換ステップまですぐ実行可能 — コールバックリダイレクトの `code` を貼り付けるだけ。
使い方
- Verifier 長を設定(デフォルト 64、最小 43、最大 128)。
- S256(常に推奨)または plain(レガシーサーバ用)を選択。
- `client_id`、`redirect_uri`、`scope`、OAuth エンドポイントを入力。
- ユーザーを authorization URL に送り、`?code=...` のコールバックを受けたら curl 実行でトークン取得。
よくある質問
- S256 vs plain、どっちを使う?
- 常に S256。plain は verifier をそのまま challenge として送るので、authorization リクエストが傍受されると保護効果がありません。S256 は SHA-256 結果のみ送り、verifier 自体はステップ1で露出しないため傍受攻撃が遥かに困難に。RFC 7636 も S256 利用可能なら plain を拒否すべきと規定。
- Verifier の文字集合がなぜこれ?
- RFC 7636 が verifier アルファベットを `[A-Z][a-z][0-9]-._~`(RFC 3986 の unreserved URI 文字)と規定。これにより URL・ヘッダ・フォームボディどこでもエスケープなしで安全に使えます。
- `state` とは?
- クライアントがリクエスト毎に生成しコールバックで検証する不透明な乱数文字列。CSRF 防御 — 攻撃者がユーザーを悪意ある authorization リダイレクトに誘導しても、アプリが記憶する `state` と一致せず応答を拒否できます。必ず使用を。
- どこで実行される?
- 完全にブラウザ内。Verifier は `crypto.getRandomValues()`、SHA-256 は `crypto.subtle.digest()` — どちらも Web Crypto API。外部送信なし。
関連ツール
HTTP Basic 認証エンコーダ / デコーダ
`username:password` を Base64 `Authorization: Basic` ヘッダーにエンコード — または既存のヘッダーを貼り付けて誰がそこにいるかを見る。
CAA レコードビルダー (DNS 認証局権限制限)
CAA (Certificate Authority Authorization) DNS レコードを生成 — 信頼する CA だけがドメインの TLS 証明書を発行できるよう制限。BIND 形式 + コントロールパネル向け tag/value 分割出力、よく使う CA (Let's Encrypt, DigiCert, Google, Amazon 等) のワンクリック追加付き。
mailto: リンクビルダー
宛先・Cc・Bcc・件名・本文を入力して RFC 6068 準拠でパーセントエンコードされた mailto: URL を生成。<a> タグにそのまま埋め込めます。
URI テンプレート展開 (RFC 6570)
独自の変数で RFC 6570 URI テンプレートを展開 — 4 レベルすべて対応:パス・クエリ・フラグメント・ラベル・パス形式演算子、explode・prefix 修飾子、ブラウザ内で。
HTTP ステータスコード リファレンス
1xx-5xx の全 HTTP ステータスコードを検索 — 概要・RFC・使い時・よくある落とし穴付き。
QR コード生成
テキストや URL からカスタム QR コードを作成してダウンロード。
ランダム創作プロンプト ジェネレータ
イラスト・小説・写真・コーディング副業・架空世界の世界観構築向けの新鮮な創作プロンプト。リロールで新しいバッチを生成し、創作の停滞を打破。