Problemas com SSO e caractere '~'

Parece que urlsafe_b64encode substitui alguns caracteres na codificação base64. Da documentação:

Codifica o objeto s semelhante a bytes usando o alfabeto seguro para URL e sistema de arquivos, que substitui - em vez de + e _ em vez de / no alfabeto Base64 padrão, e retorna os bytes codificados. O resultado ainda pode conter =.

Isso significa que o resultado não é base64 padrão e não será compatível com a decodificação do Discourse.

Eu recomendaria usar a função b64encode normal em vez disso. Sua biblioteca HTTP cuidará do escape de URL, se necessário.

5 curtidas