2016-11-16 2 views
2

J'ai une API personnalisée Restful en php que je veux consommer par plusieurs clients:PHP Restful api - Comment authentifier à la fois l'application client et utilisateur

  • CMS
  • Site
  • iOS app
  • application Android

J'authentifie actuellement l'utilisateur en utilisant un formulaire de connexion qui envoie des informations d'identification au serveur qui retourne un jeton JWT. Ce dont je ne suis pas sûr est comment authentifier l'application cliente qui consommera l'API. Par exemple, comment puis-je identifier que les appels d'API proviennent du CMS? Dois-je implémenter une sorte de liste blanche pour que tous les 4 clients ci-dessous autorisent la consommation de l'API et bloquent les autres?

J'ai besoin d'aide, de suggestion ou de liens pour comprendre les meilleures solutions pour implémenter de telles choses.

Merci,

Steve

Répondre

0

Vous pouvez ajouter simplement le type d'appareil lors de l'authentification. Pour le navigateur est simple comme obtenir user-agent pour les autres périphériques ajouter un autre paramètre qui ajoute le type de périphérique. Ajoutez ce périphérique ou user-agent lors de l'encodage du JWT. Cela suppose que vous avez plusieurs problèmes de jetons pour chaque périphérique séparément. Si ce n'est pas le cas, recherchez des en-têtes d'agent utilisateur et ajoutez des logiciels intermédiaires supplémentaires dans votre application pour ces mêmes applications Android ou autres. Espérons que cela aide