Paramètres de requête d'encodage d'URL et URI de redirection
Encodez en toute sécurité les valeurs redirect_uri, les URL de rappel et les paramètres imbriqués afin que votre demande d'authentification ou d'API cesse de se briser.
Ce guide maintient le codage d'URL pratique : flux de redirection, paramètres de requête, valeurs de portée et différence entre l'encodage d'une URL complète et l'encodage d'un composant.
Utilisez-le lorsque
Une URL de rappel, une chaîne de requête imbriquée ou une valeur redirect_uri continue d'être rejetée ou tronquée.
Que faut-il inspecter en premier
Vérifiez si vous avez codé l'intégralité de l'URL ou uniquement le composant paramètre. Cette différence explique généralement les redirections interrompues.
Piège courant
Les espaces, les signes plus, les symboles et les points d'interrogation semblent souvent inoffensifs dans les journaux, mais interrompent les requêtes lorsqu'ils sont copiés bruts.
Encoder une valeur redirect_uri
Les URL de rappel imbriquées doivent être codées en tant que valeur de paramètre et non collées brutes dans la requête externe.
redirect_uri=https%3A%2F%2Fapp.example.com%2Fcallback%3Fnext%3D%252Fsettings
Encoder une chaîne de portée
Les valeurs de portée OAuth contiennent souvent des espaces qui doivent être codés en pourcentage pour une transmission fiable.
scope=read%3Ausers%20write%3Ausers
Gérer les valeurs de recherche ou de courrier électronique
Des caractères comme +, @, / et ? sont de bons signaux indiquant que vous codez le bon composant.
email=dev%2Balerts%40example.com
Gardez le rappel lisible
L'outil en direct vous permet d'encoder ou de décoder une valeur à la fois, ce qui est utile lorsque les journaux de redirection sont difficiles à lire.
https://app.example.com/callback?next=/settings
Utilisez encodeURI pour une URL complète que vous souhaitez conserver structurellement. Utilisez encodeURIComponent pour une valeur de paramètre telle que redirect_uri, state ou une requête de recherche.
- La plupart des bogues d'authentification et d'API proviennent du besoin d'encodeURIComponent et de la préservation accidentelle de caractères réservés.
Les requêtes signées, les redirections OAuth et les URL imbriquées dépendent toutes de l'encodage du bon composant sur la bonne couche. En cas de doute, isolez la valeur et testez-la d'abord par elle-même.
- Passez au formatage JSON lorsque le problème réside réellement dans le corps de la requête plutôt que dans la chaîne de requête.