4. String Operations (Opérations sur les chaînes)
Le traitement de certains messages OAuth 2.0 nécessite de comparer les valeurs dans le message avec des valeurs connues. Par exemple, les noms de membres dans une réponse de métadonnées peuvent être comparés à un nom de membre spécifique tel que "issuer". Cependant, la comparaison de chaînes Unicode [UNICODE] a des implications de sécurité importantes.
Par conséquent, les comparaisons entre les chaînes JSON et d'autres chaînes Unicode doivent (MUST) être effectuées comme spécifié ci-dessous :
-
Supprimer tout échappement appliqué par JSON pour produire un tableau de points de code Unicode.
-
La normalisation Unicode (Unicode Normalization) [USA15] ne doit pas (MUST NOT) être appliquée à la chaîne JSON ou à la chaîne avec laquelle elle est comparée à tout moment.
-
La comparaison entre deux chaînes doit (MUST) être effectuée comme une comparaison d'égalité point de code Unicode à point de code Unicode (Unicode code-point-to-code-point equality comparison).
Notez que c'est le même processus de comparaison d'égalité que celui décrit dans la section 8.3 de [RFC8259].