SSO と '~' 文字の問題

urlsafe_b64encode は、base64 エンコーディングのいくつかの文字を置き換えているようです。ドキュメントによると:

URL およびファイルシステムセーフなアルファベットを使用して bytes-like object s をエンコードします。これは、標準の Base64 アルファベットの + の代わりに - を、/ の代わりに _ を使用します。エンコードされた bytes を返します。結果にはまだ = が含まれる場合があります。

これは、結果が標準の base64 ではなく、Discourse のデコードと互換性がないことを意味します。

代わりに通常の b64encode 関数を使用することをお勧めします。必要に応じて、HTTP ライブラリが URL エスケープを処理してくれるはずです。

「いいね!」 5