SSO와 '~' 문자 관련 문제

urlsafe_b64encode가 base64 인코딩에서 일부 문자를 대체하는 것 같습니다. 문서에서 확인해 보면:

URL 및 파일 시스템에서 안전한 알파벳을 사용하여 bytes 유사 객체 s를 인코딩합니다. 이 알파벳은 표준 Base64 알파벳에서 + 대신 -를, / 대신 _를 사용하며, 인코딩된 bytes를 반환합니다. 결과에는 여전히 =가 포함될 수 있습니다.

즉, 그 결과는 표준 base64가 아니므로 Discourse의 디코딩과 호환되지 않습니다.

대신 일반 b64encode 함수를 사용하는 것을 권장합니다. 필요할 경우 URL 이스케이핑은 HTTP 라이브러리가 처리할 것입니다.