OAuth 2.0 définit le paramètre "state" à envoyer à la demande du client pour empêcher les attaques de requêtes intersites. Same est mentionné dans la spécification OpenID pour "nonce". Mis à part le fait que "nonce" est renvoyé dans un jeton d'ID au lieu de paramètres de requête, ils semblent avoir exactement le même objectif. Si quelqu'un peut expliquer pourquoi ils sont séparés
Réponse
Trop de publicités?De l'état et pour l'instant semble être similaire. Mais si vous creusez profondément, vous trouverez qu'ils servent à des fins différentes.
L'état est là pour protéger l'utilisateur final à partir de cross site request forgery(CSRF) les attaques. Il est introduit à partir de l'authentification OAuth 2.0 protocole RFC6749. Protocole stipule que,
Une fois que l'autorisation a été obtenue à partir de l'utilisateur final, l' le serveur d'autorisation redirige l'utilisateur user-agent du retour à la client avec la liaison nécessaire de la valeur contenue dans la notion"d'état" le paramètre. La liaison de la valeur qui permet au client de vérifier l' la validité de la demande par la correspondance de la liaison de la valeur à l' user-agent de l'état authentifié
Et ce est utilisé dans la demande d'autorisation. Il permet au client de vérifier que l'autorisation n'est pas modifié et envoyé par le serveur d'origine qui auth. demande a été envoyée. En bref, elle permet au client de vérifier l'autorisation de demande et de réponse.
Nonce sert un but différent. Il lie les jetons avec le client. Il sert comme un jeton de validation paramètre et est introduit à partir de OpenID Connect spécification.
nonce Chaîne de valeur utilisée pour associer une session de Client avec un ID de Jeton, et à atténuer les attaques de relecture. La valeur est transmise par le biais de non modifiée à partir de la Demande d'Authentification à l'ID de Jeton. Si l'ID de Jeton, les Clients DOIVENT vérifier que le nonce Revendication Valeur est égale à la valeur de l'nonce paramètre envoyé dans la Demande d'Authentification. Si la Demande d'Authentification, d'Autorisation DOIVENT inclure les Serveurs d'un nonce Demande l'ID de Jeton avec la Valeur de la Revendication d'être la valeur de nonce envoyé dans la Demande d'Authentification. Les Serveurs d'autorisation DOIT effectuer aucun autre traitement sur le nonce valeurs utilisées. Le nonce valeur est une chaîne sensible à la casse
Comme vous pouvez le voir, nonce valeur provient de la demande d'autorisation et il est généré par le client. Et si l'instant est inclus, il sera présent dans le jeton. Ainsi, le client peut valider le jeton reçu à l'encontre de la première demande d'autorisation, assurant ainsi la validité du jeton.
Aussi, selon le type de flux, nonce peut être un paramètre obligatoire. L'implicite débit et hybride flux de mandat nonce valeur. Les deux valeurs sont générées et validé par le client de l'application.
Pourquoi l'état ne pourrait-il être réutilisé?
Si une demande d'autorisation est capturé, alors la personne malveillante peut faux autorisation. Ceci peut être évité en modifiant les paramètre d'état.