IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

[REST] Authentification sur Android


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Par défaut [REST] Authentification sur Android
    Bonsoir à tous,

    Voila j'ai mis en place un service web REST et j'ai besoin d'authentifier mes clients.
    J'ai vu qu'il existait plusieurs méthode dont celle du jeton d’authentification, que je vais détailler le fonctionnement:

    L'idée consiste à envoyer, dans un 1er temps, un couple login/password et de récupérer un token en retour. Dans un second temps, ce token devra être utilisé à la place du password pour les requêtes suivantes. Ceci permet, coté serveur, de gérer la durée de validité des tokens (à 20 minutes par exemple).

    Mais ce qui me pose problème, c'est que en REST il n'y a pas d'état (Stateless). Comment est ce que le serveur peut identifier le token du client?, ceci impose de faire persisté le token généré par le serveur soit en base de donné ou en session, dans les deux cas on casse le principe de REST!

    Pouvez vous m'aider svp?

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Bonjour,

    Citation Envoyé par Rohan21 Voir le message
    Ceci impose de faire persisté le token généré par le serveur soit en base de donné ou en session
    Oui effectivement, une session ca peut être bien.

    Citation Envoyé par Rohan21 Voir le message
    on casse le principe de REST!
    Quel principe? C'est l'homme qui crée les principes donc on peut bien les changer
    Plus sérieusement, REST est un outil, il n'y a pas vraiment de contrainte. J'utilise des sessions dans mes WS et ca n'a jamais posé de problème à personne
    Ce qui veut dire que si tu as besoin de session, utilises les sessions! Surtout s'il n'y a pas d'autre solution!!!

    Liens intéressants : http://blog.nicolashachet.com/niveau...e-en-5-regles/
    http://stackoverflow.com/questions/6...te-restfulness

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Par défaut
    Bonjour David55,

    Je pensais que le serveur ne devais pas se soucier du contexte du client. Pourquoi on dit qu'il n'y a pas d'état dans REST?

    Merci pour les liens, je vais les consulter
    Cdt,

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    En tant que fervant défenseur de REST... un web-service ne peut pas être REST si il n'est pas "Stateless" (donc sans session coté serveur)...
    Il ressemblera à du REST, il aura le goût du REST, mais ne sera pas vraiment REST

    Le token, ton serveur y met ce qu'il veut....

    Token "decrypté": {salt}:{datevalidité}:{userid}:{hash}
    Le salt étant par exemple une chaine aléatoire.
    datevalidité ben la durée de validité du token.
    userid l'identifiant interne (souvent un nombre) de l'utilisateur.
    hash un code de hash de tout ce qui précède.

    Ainsi à la réception d'une requête, il "suffit" de vérifier que le "hash" est correct, que la date de validité est bonne... et bim... le userid est autorisé et validé, sans même vérifier dans la table des utilisateurs.

    On peut aussi rajouter d'autres informations comme l'@ IP de l'origine.
    Vérifier que le salt s'incrémente à chaque requête (ainsi un nouveau token invalidera obligatoirement le précédent), etc...

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 142
    Par défaut
    Merci David 55 pour ta réponse et pour tous ces éléments.

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    Merci Rohan21 de me remercier

    Mais je pense que tu voulais plutot remercier Nicroman qui a donné une réponse tout de même plus juste

Discussions similaires

  1. Problème avec les services web rest sur android
    Par JacNar6 dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 24/09/2013, 17h41
  2. Réponses: 2
    Dernier message: 06/02/2006, 09h28
  3. Réponses: 9
    Dernier message: 30/08/2005, 09h17
  4. [VB.NET] Authentification sur serveur mail ?
    Par Webman dans le forum ASP.NET
    Réponses: 2
    Dernier message: 26/05/2004, 19h24
  5. [C#] Authentification sur les fichiers Pdf
    Par ensisoft dans le forum ASP.NET
    Réponses: 14
    Dernier message: 04/05/2004, 12h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo