Kerrinz的魔导书 - PKCE
type: channel
link: https://www.kerrinz.com/tag/PKCE/
items: 关于OAuth2.1 PKCE利用crypto的sha256哈希结果转换base64url计算结果不一致的问题（Flutter）

关于OAuth2.1 PKCE利用crypto的sha256哈希结果转换base64url计算结果不一致的问题（Flutter）
type: item
date: 2021-07-01T14:49:00+00:00
description: 前言最近在写第三方flutter app并抓包分析某原生app登录逻辑的时候，遇到了使用OAuth2.1 PKCE授权码模式的登录方式，该模式下需要将code_verifier先进行sha256哈希后再进行base64(URL-Save) 编码成最终的code_challenge。OAuth2.1 PKCE授权码模式详解：https://shanhy.blog.csdn.net/article/details/114080598code_verifier转code_challenge的工具：https://tonyxu-io.github.io/pkce-generator/问题详情在对code_verifier进行sha256哈希+base64URL编码后，所得结果与预期的完全不一致；在进行初步对比排查后发现是在base64URL这一步骤出现的差异。并且在使用各种线上工具对已经sha256哈希后的字符串进行base64URL编码，也与预期结果完全不一致。[...]