code_verifier
是一串随机生成的内容
code_challenge
是code_verifier
经过sha256
计算后使用Base64
编码,并将结果中的=
替换为''
,+
替换为-
,/替换为_
示例代码
以下代码使用了Hutool
工具类
// PCKE 流程所需参数
// codeVerifier:随机编号
String codeVerifier = IdUtil.fastSimpleUUID();
// codeChallenge:codeVerifier 的 SHA256
String codeChallenge = Base64Utils.encodeToUrlSafeString(DigestUtil.sha256(codeVerifier))
.replaceAll("=", "")
.replaceAll("\\+", "-")
.replaceAll("/", "_");