J'ai créé une authentification basée sur JWT dans mon application API Web. Je ne parviens pas à comprendre la différence entre
- Jeton de base
- Jeton porteur
Quelqu'un peut-il m'aider s'il vous plaît?
J'ai créé une authentification basée sur JWT dans mon application API Web. Je ne parviens pas à comprendre la différence entre
Quelqu'un peut-il m'aider s'il vous plaît?
Réponses:
Les schémas d'authentification Basic et Digest sont dédiés à l'authentification à l'aide d'un nom d'utilisateur et d'un secret (voir RFC7616 et RFC7617 ).
Le schéma d'authentification du support est dédié à l'authentification à l'aide d'un jeton et est décrit par la RFC6750 . Même si ce schéma provient d'une spécification OAuth2, vous pouvez toujours l'utiliser dans tout autre contexte où les jetons sont échangés entre un client et un serveur.
Concernant l'authentification JWT et comme il s'agit d'un jeton, le meilleur choix est le schéma d'authentification du porteur. Néanmoins, rien ne vous empêche d'utiliser un schéma personnalisé qui pourrait s'adapter à vos besoins.
L'authentification de base transmet les informations d'identification sous forme de paires ID utilisateur / mot de passe, encodées en base64. Le client envoie des requêtes HTTP avec l'en-Authorization
tête qui contient le motBasic
mot suivi d'un espace et d'unebase64-encoded
chaîne nom d'utilisateur: mot de passe.
Autorisation: Basic ZGVtbzpwQDU1dzByZA ==
Remarque: pour l'authentification de base, comme l'ID utilisateur et le mot de passe sont transmis sur le réseau sous forme de texte clair (il est encodé en base64, mais base64 est un encodage réversible), le schéma d'authentification de base n'est pas sécurisé. HTTPS / TLS doit être utilisé conjointement avec l'authentification de base.
L'authentification du porteur (également appelée authentification par jeton ) a des jetons de sécurité appelés jetons de support. Le nom «authentification du porteur» peut être compris comme « donner accès au porteur de ce jeton ». Le jeton de support est une chaîne cryptique, généralement générée par le serveur en réponse à une demande de connexion. Le client doit envoyer ce jeton dans l'en-tête Authorization lors de la demande aux ressources protégées:
Autorisation: porteur <jeton>
Remarque: comme pour l'authentification de base, l'authentification du porteur ne doit être utilisée que sur HTTPS (SSL) .