Je construis une API REST où les clients sont authentifiés à l'aide de certificats clients. Dans ce cas, un client n'est pas un utilisateur individuel, mais une sorte de couche de présentation. Les utilisateurs sont authentifiés en utilisant une approche personnalisée et il est de la responsabilité de la couche de présentation de voir que cela est correctement fait (note: je sais que ce n'est pas la bonne approche, mais l'API n'est pas publique).
Je voudrais transmettre le nom d'utilisateur pour chaque demande (pas le mot de passe), mais je ne sais pas où le faire. Serait-ce une bonne idée d'utiliser l'en-tête d'autorisation?
la source
Je ne vous recommanderais pas d'utiliser de manière non standard un en-tête HTTP standard. Principalement parce qu'il peut être trompeur pour d'autres développeurs qui savent comment l'en-
Authoriziation
tête est destiné à être utilisé dans l'authentification HTTP, mais aussi pour éviter tout problème potentiel avec d'autres parties de votre pile ayant une connaissance conflictuelle du même en-tête de demande.Quoi qu'il en soit, rien ne vous empêche d'utiliser un en-
X-Authorization-User
tête personnalisé et non standard , spécialement pour vos besoins.la source
X-
servent les en-têtes préfixés. Si vous allez utiliser un en-tête standard, ne l'utilisez pas pour quelque chose d'inhabituel ou d'inattendu.