Bonjour,

Je suis en train de créer une api pour un site et J'aimerais la sécuriser. Pour l'instant, l'api est sécurisé avec l'authentification normal.
C'est à dire que si l'utilisateur est connecté, ses infos sont sur la session et l'api y a accès. Cependant, cela oblige celui qui dialogue avec l'api d'envoyer le cookie de session. Pour mes scripts javascripts(avec JQuery), pas de problème, les navigateurs s'occupent d'envoyer les cookies. Mais j'aimerais pouvoir accèder à mon api sans avoir de cookie(par exemple, si un site tiers ou un application mobile a besoin d'y accèder).

Je pense donc installer une authentification OAuth mais je me pose cette question:

Aurais je besoin de redemander le token à chaque fois que la page change( ou est rafraichit) ou y a-t-il moyen de le conserver?

Merci

3 réponses


Personnellement je trouve que 0auth est chiant à installer, de plus l'utilisateur dois passer par un page d'authorisation avec un système de callback, et la clef restera valide même si l'utilisateur change son nom, password.

J'ai préféré développer un système d'authentification,
La première fois que l'utilisateur se connecte l'id et le password sont envoyés au serveur encodé en base 64 ( SSL obligatoire )
On test si l'utilisateur existe, si oui on génère un token qui contient l'identifiant et le mot de passe avec une clé d'encryption.
Quand l'utilisateur veut faire une requête à l'api on envoie le token dans la requête on décrypte le token on vérifie si l'utilisateur existe.

Si on le souhaite on peut rajouter une date de validité comme sur un cookie dans le token.
Pour ma part le token décodé resemble à ceci :
username:password:date

Concernant le stockage du token on utilisera local storage.
Si l'utilisateur veut se déconnecter on supprimera le token du local storage.

Bonjour.
Quel est le rapport avec Javascript ?
Ton sujet devrait être dans PHP.

Je me demandais la même chose, je ne sais pas où stocker le token :/