与SSO和 '~' 字符有关的问题

看起来 urlsafe_b64encode 替换了 base64 编码中的一些字符。来自文档

使用 URL 和文件系统安全字母表对 bytes-like object s 进行编码,该字母表在标准 Base64 字母表中用 - 替换 +,用 _ 替换 /,并返回编码后的 bytes。结果仍然可能包含 =

这意味着结果不是标准的 base64,并且与 Discourse 的解码不兼容。

我建议改用普通的 b64encode 函数。如果需要,您的 HTTP 库应能处理 URL 转义。

5 个赞