Lorsqu'une API nécessite qu'un client s'authentifie auprès d'elle, j'ai vu deux scénarios différents utilisés et je me demande quel cas utiliser pour ma situation.
Exemple 1. Une API est proposée par une entreprise pour permettre à des tiers de s'authentifier avec un jeton et un secret à l'aide de HTTP Basic.
Exemple 2. Une API accepte un nom d'utilisateur et un mot de passe via HTTP Basic pour authentifier un utilisateur final. Généralement, ils obtiennent un jeton pour les demandes futures.
Ma configuration: je disposerai d'une API JSON que j'utiliserai comme backend pour une application mobile et web. Cela semble être une bonne pratique pour l'application mobile et Web d'envoyer un jeton et un secret afin que seules ces deux applications puissent accéder à l'API bloquant tout autre tiers.
Mais l'application mobile et Web permet aux utilisateurs de se connecter et de soumettre des messages, d'afficher leurs données, etc. Je voudrais donc qu'ils se connectent également via HTTP Basic à chaque demande.
Dois-je utiliser en quelque sorte une combinaison de ces deux méthodes ou envoyer uniquement les informations d'identification de l'utilisateur final (nom d'utilisateur et jeton) à chaque demande? Si j'envoie uniquement les informations d'identification de l'utilisateur final, dois-je les stocker dans un cookie sur le client?