Class PKCEGenerator
java.lang.Object
tech.riemann.nif.oidc.service.PKCEGenerator
PKCE(Proof Key for Code Exchange)代码验证器生成器
用于OAuth 2.0 PKCE扩展,提供代码挑战(code_challenge)的生成功能
PKCE流程: 1. 客户端生成code_verifier(随机字符串) 2. 使用此工具生成code_challenge = BASE64URL(SHA256(code_verifier)) 3. 在授权请求中携带code_challenge 4. 在Token请求中携带code_verifier进行验证
使用示例:
String codeVerifier = "random-string-generated-by-client"; String codeChallenge = PKCEGenerator.generateCodeChallenge(codeVerifier);
- Author:
- Kerbores(kerbores@riemann.tech)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgenerateCodeChallenge(String codeVerifier) 根据code_verifier生成code_challenge
-
Constructor Details
-
PKCEGenerator
public PKCEGenerator()
-
-
Method Details
-
generateCodeChallenge
根据code_verifier生成code_challenge使用SHA-256算法对code_verifier进行哈希运算,然后进行Base64 URL安全编码
- Parameters:
codeVerifier- 代码验证器(随机字符串)- Returns:
- code_challenge(Base64 URL编码的SHA-256哈希值)
- Throws:
RuntimeException- 如果SHA-256算法不可用
-