Problèmes avec SSO et le caractère '~'

Après une enquête plus approfondie, je l’encodais effectivement mal.

Voici ce que j’ai fini par obtenir, pour la postérité :

return_payload = base64.b64encode(parse.urlencode(kwargs).encode("utf-8"))
h = hmac.new(secret.encode("utf-8"), return_payload, digestmod=hashlib.sha256)
resp = requests.post(
       ".../admin/users/sync_sso",
        data={"sso": return_payload, "sig": h.hexdigest()}
        headers={...}
)

Et si vous effectuez la redirection, assurez-vous de faire un parse.urlencode de ce {“sso”…}.

Merci pour votre aide @sam et @david !

3 « J'aime »