OAuth PKCE 流程視覺化
逐步探索 Authorization Code with PKCE,產生隨機 verifier 與真實 S256 challenge,檢查各方責任。
1. 設定與探索
所有輸入留在本分頁,不寫入瀏覽器儲存空間、不放入網址、不發送網路請求。
2. 結果與判讀
選擇範例、填寫欄位或探索流程。
產生全新 32-byte 隨機 verifier,計算 BASE64URL(SHA256(verifier));verifier 僅暫存。
傳送 response_type=code、client_id、精確 redirect_uri、state、code_challenge 與 S256;OIDC 另使用 nonce。
驗證使用者並取得同意;將短效單次 authorization code 綁定 client、redirect URI 與 challenge。
在 redirect URI 接收 code 並驗證 state;勿記錄 code,也不可經不受信任來源交換。
經 HTTPS 傳送 authorization_code grant、code、redirect_uri 與原 code_verifier;機密用戶端仍需驗證自身。
計算 verifier 的 S256、比較已綁定 challenge、消耗 code,全部通過才發 token;PKCE 不是用戶端身分驗證。
圖中的伺服器步驟僅供教學;此頁沒有驗證伺服器。
預覽最多 32,000 字元;複製、下載與展開文字均保留完整內容。複製失敗時可選取完整文字。
1. 用戶端 產生全新 32-byte 隨機 verifier,計算 BASE64URL(SHA256(verifier));verifier 僅暫存。 2. 瀏覽器至授權伺服器 傳送 response_type=code、client_id、精確 redirect_uri、state、code_challenge 與 S256;OIDC 另使用 nonce。 3. 授權伺服器 驗證使用者並取得同意;將短效單次 authorization code 綁定 client、redirect URI 與 challenge。 4. 用戶端 在 redirect URI 接收 code 並驗證 state;勿記錄 code,也不可經不受信任來源交換。 5. 用戶端至 token 端點 經 HTTPS 傳送 authorization_code grant、code、redirect_uri 與原 code_verifier;機密用戶端仍需驗證自身。 6. 授權伺服器 計算 verifier 的 S256、比較已綁定 challenge、消耗 code,全部通過才發 token;PKCE 不是用戶端身分驗證。
展開可選取的完整文字
1. 用戶端 產生全新 32-byte 隨機 verifier,計算 BASE64URL(SHA256(verifier));verifier 僅暫存。 2. 瀏覽器至授權伺服器 傳送 response_type=code、client_id、精確 redirect_uri、state、code_challenge 與 S256;OIDC 另使用 nonce。 3. 授權伺服器 驗證使用者並取得同意;將短效單次 authorization code 綁定 client、redirect URI 與 challenge。 4. 用戶端 在 redirect URI 接收 code 並驗證 state;勿記錄 code,也不可經不受信任來源交換。 5. 用戶端至 token 端點 經 HTTPS 傳送 authorization_code grant、code、redirect_uri 與原 code_verifier;機密用戶端仍需驗證自身。 6. 授權伺服器 計算 verifier 的 S256、比較已綁定 challenge、消耗 code,全部通過才發 token;PKCE 不是用戶端身分驗證。
不發送授權或 token 請求。示範值僅留在記憶體,勿貼正式 code、token 或秘密。
資料/規則日期: 2026-10-21 · 官方來源
如何使用這個工具
產生暫存範例、逐步查看用戶端與授權伺服器的責任,了解 verifier 如何保護 code 交換。
不適合用在什麼情況
不發送授權或 token 請求。示範值僅留在記憶體,勿貼正式 code、token 或秘密。
閱讀實作指南 →