Comment gérer les caractères non-ASCII dans l'en-tête Api-Username ?

Salut,

J’intègre l’API Discourse en utilisant RestSharp et je rencontre un problème avec les noms d’utilisateur contenant des caractères non-ASCII (spécifiquement des umlauts allemands). J’ai besoin d’usurper l’identité d’un utilisateur avec le nom d’utilisateur foö (contient ö).

Lorsque j’envoie le nom d’utilisateur brut dans l’en-tête Api-Username, j’obtiens : Request headers must contain only ASCII characters (Les en-têtes de requête ne doivent contenir que des caractères ASCII)

Lorsque j’encode l’URL du nom d’utilisateur (Uri.EscapeDataString("foö")fo%C3%B), l’authentification échoue avec : {"errors":["Du bist nicht berechtigt, die angeforderte Ressource anzuzeigen. Der API-Benutzername oder -Schlüssel ist ungültig."],"error_type":"invalid_access"} (accès interdit / utilisateur inexistant)

J’utilise une clé API avec des privilèges d’administrateur. Point de terminaison : POST /posts.json pour créer des sujets au nom d’utilisateurs.

Quelle est la bonne façon de transmettre les noms d’utilisateur avec des caractères non-ASCII dans l’en-tête Api-Username ? Devrais-je :

  1. Utiliser une méthode d’encodage différente ?
  2. Utiliser plutôt un ID d’utilisateur (si oui, quel nom d’en-tête) ?
  3. Quelque chose de complètement différent ?

Merci pour toute aide !