urlsafe_b64encode가 base64 인코딩에서 일부 문자를 대체하는 것 같습니다. 문서에서 확인해 보면:
URL 및 파일 시스템에서 안전한 알파벳을 사용하여 bytes 유사 객체 s를 인코딩합니다. 이 알파벳은 표준 Base64 알파벳에서
+대신-를,/대신_를 사용하며, 인코딩된bytes를 반환합니다. 결과에는 여전히=가 포함될 수 있습니다.
즉, 그 결과는 표준 base64가 아니므로 Discourse의 디코딩과 호환되지 않습니다.
대신 일반 b64encode 함수를 사용하는 것을 권장합니다. 필요할 경우 URL 이스케이핑은 HTTP 라이브러리가 처리할 것입니다.