Bonjour les zesteux.
Depuis quelques temps, je travaille en dilettante sur un petit projet, qui a la particularité d’être une application/site web. Moi, à la base, je bosse plutôt avec les bootloaders et autres bestioles bas niveau alors je dois avouer que j’ai pas mal de choses à apprendre. Du coup je viens à la pêche aux infos ici (:.
Dans mon idée, je souhaite faire un site web avec un peu de génération de pages côté serveurs, mais beaucoup de choses dynamiques via une API Rest. Je souhaite au passage que l’API Rest soit la plus user friendly possible dans le cas (improbable) où des gens se mettent un jour à utiliser mon projet et souhaite bidouiller leurs propres clients (ou que moi-même, pour le plaisir, je souhaite faire un petit client lourd).
Mon autre volonté, c’est de surtout ne pas m’embêter avec la gestion de comptes et surtout de mots de passe. Donc passer par des services externes type compte Google, par exemple.
Sauf que du coup je suis un peu perdu pour faire cohabiter ces deux exigences.
Voilà les idées que j’ai pu avoir jusqu’ici. Si vous pouviez me dire ce que vous en pensez, ça serait cool :3.
- L’authentification au serveur générant les pages se feraient via une session classique, avec le workflow classique (de ce que j’en ai compris) pour récupérer un token d’authentification de Google.
- Ce serveur serait lui-même un client de l’API, qui se connecterait en fournissant ce token d’authentification externe : le serveur de l’API peut normalement vérifier que ce token est valide. Une fois qu’il l’a fait, il peut générer son propre token a lui à transmettre au serveur de génération de page
- Afin que le client javascript puisse faire des requêtes Ajax, on lui transmet le token (pendant la génération de la page)
Si un client externe veut faire une authentification, il suit à peu près le même workflow : il récupère un token auprès de google qu’il transmet au serveur de l’API pour en récupérer un à utiliser avec elle.
Et voilà. Du coup, qu’en pensez-vous ? Ça vous paraît gérable ?
Merci d’avance pour vos réponses et bonne journée !