OAuth 生成器

构建 OAuth 2.0 授权链接,自动生成 state 与 PKCE 参数。

打开授权页

授权链接

https://accounts.example.com/oauth/authorize?response_type=code&client_id=my-client-id&redirect_uri=https%3A%2F%2Fmy-app.example.com%2Fcallback&scope=read%3Auser&state=nSkCTzTQ8rHiJMxcFCt8IdUyHH5-rDtEc4IkxrvUx-U

code_verifier

ChjgW5G3BZBBvsI9lpVLR1-riNW_SZGvZczP-8MHHjqxaV-0c9Bn2TGISVaN1wHR

code_challenge(S256)

计算中…

Token 请求示例

curl -X POST 'https://accounts.example.com/oauth/token' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'grant_type=authorization_code' \
  -d 'client_id=my-client-id' \
  -d 'redirect_uri=https://my-app.example.com/callback' \
  -d 'code=用授权回调里的 code 替换' \
  -d 'code_verifier=ChjgW5G3BZBBvsI9lpVLR1-riNW_SZGvZczP-8MHHjqxaV-0c9Bn2TGISVaN1wHR'

提示

已生成初始 state 与 PKCE 参数,全部在本机完成。

已生成初始 state 与 PKCE 参数,全部在本机完成。

为什么要用 PKCE?

授权码可能被浏览器历史或日志泄露。PKCE 让 token 只能用本机保存的 verifier 换取,被截获的授权码无法使用,RFC 7636 已成为公共客户端的推荐配置。

state 要校验吗?

要。回调时先比对 state 是否等于发起时生成的值,不一致立即中止,防止攻击者伪造回调把你导向恶意 code。

隐私说明

state、verifier 等安全参数由浏览器 Web Crypto 在本地生成,工具不发起任何网络请求。