4. String Operations (Operazioni sulle stringhe)
L'elaborazione di determinati messaggi OAuth 2.0 richiede il confronto dei valori nel messaggio con valori noti. Ad esempio, i nomi dei membri in una risposta di metadati possono essere confrontati con un nome di membro specifico come "issuer". Tuttavia, il confronto di stringhe Unicode [UNICODE] ha implicazioni di sicurezza significative.
Pertanto, i confronti tra stringhe JSON e altre stringhe Unicode devono (MUST) essere eseguiti come specificato di seguito:
-
Rimuovere qualsiasi escape applicato da JSON per produrre un array di punti di codice Unicode.
-
La normalizzazione Unicode (Unicode Normalization) [USA15] non deve (MUST NOT) essere applicata alla stringa JSON o alla stringa con cui viene confrontata in nessun momento.
-
Il confronto tra due stringhe deve (MUST) essere eseguito come confronto di uguaglianza punto di codice Unicode a punto di codice Unicode (Unicode code-point-to-code-point equality comparison).
Si noti che questo è lo stesso processo di confronto di uguaglianza descritto nella sezione 8.3 di [RFC8259].