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

Symfony PHP Discussion :

[Symfony2] Sécurisation API REST, help


Sujet :

Symfony PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut [Symfony2] Sécurisation API REST, help
    Bonjour,

    Je suis en train de mettre en place une API REST que j'aimerais sécuriser. En effet, je voudrais que la personne s'authentifie avant d'effectuer des requêtes.

    J'ai effectué quelques recherches et j'ai pu remarquer qu'il y avait deux méthodes bien connues WSSE et OAuth, seulement j'ai du mal à cerner la différence. De ce que j'ai pu comprendre OAuth conserve un AccessToken en BdD ce qui casse un peu le modèle REST, par contre il est énormément utilisé et par des sites très populaires et est réputé comme étant sécurisé (même si je ne sais pas trop pourquoi pour le moment).

    J'ai pu remarquer qu'un bundle (FosOAuthServerBundle) permettait de mettre en place cette sécurisation, mais avant de me lancer j'aimerais avoir votre avis sur la question, est-ce que c'est vraiment ce que je recherche et est-ce que c’est compliqué à mettre en place ? J'ai pu lire comme quoi c'était assez compliqué à mettre en place :/

    Merci d'avance

  2. #2
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Hello,

    Je n'ai jamais utilisé WSSE, par contre j'ai mis en place dans un de mes projet une authentification OAuth.

    L'idée de mon coté est de s'identifier avec le comptes et les données personnelles d'un autre site. Je ne sais pas si c'est ce que tu souhaites faire, mais globalement ça te permet de t'identifier sur un site en utilisant tes informations Facebook, G+ ou Twitter par exemple.

    Pour ça j'ai utilisé le bundle HWIOAuthBundle (je ne connais pas les autres). J'ai en effet eu quelques difficultés à le mettre en place à cause de certains oublis dans la documentation du bundle. Cela dit : il offre un panel de ResourceOwner qui n'est pas négligeable (comprendre : la configuration toute faite pour les différents sites permettant de récupérer ces infos) : je crois qu'il y en a pas loin d'un quarantaine. Il te fournit également les interfaces et classes abstraites nécessaires si jamais tu as besoin de développer un nouveau ResourceOwner, un nouveau UserProvider ou quoique ce soit pour étendre les fonctionnalités.

    À moins d'avoir mal compris ton problème de BDD, si tu as besoin de garder des informations pour les users se connectant à ta plateforme via OAuth, je pense que tu n'auras pas d'autre choix que de garder un identifiant, qu'il s'agisse d'un token, d'une adresse email ou quoique ce soit d'autre.

    Bonne chance a+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut
    Salut,

    Nous contons en effet permettre l'authentification via les réseaux sociaux, mais aussi via notre propre base de données, je pense que ça sera possible au pire au vu de ce que tu as dit je pourrais faire un RessourceOwner qui va chercher dans ma Bdd ?

  4. #4
    Membre expérimenté Avatar de Nico_F
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Avril 2011
    Messages : 728
    Points : 1 310
    Points
    1 310
    Par défaut
    Si tu utilises ta propre BDD pour identifier tes users, tu n'as à priori pas besoin de faire du OAuth. Tu vas juste fournir à ton projet plusieurs UserProvider.
    À moins que ce soit une BDD différente de celle que tu utilises dans ton projet, auquel cas il va également falloir que tu configures le OAuth coté serveur.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 97
    Points : 40
    Points
    40
    Par défaut
    En fait j'ai un peu de mal à comprendre OAuth, il est utilisé uniquement pour se connecter via des comptes externes à notre application comme les réseaux sociaux ?

    Ce que l'on doit mettre en place dans les web services c'est donner la possibilité à l'utilisateur de se connecter :
    - soit via les réseaux sociaux
    - soit via le compte qu'il a créé et qui est stocké dans la base de données

    C'est quoi le principe des UserProvider ? Le résultat auquel je voudrais arriver ça serait en quelque sorte un web service d'authentification qui selon la méthode demandée (réseaux sociaux ou compte interne à notre BdD) vérifie le login et le mot de passe pour ensuite fournir une sorte d'AccessToken qui sera donné à chaque appel d'un web service et qui sera vérifié. Je ne sais pas si c'est une bonne façon de faire... :/

Discussions similaires

  1. Sécurisation API REST
    Par Dragster69 dans le forum Android
    Réponses: 5
    Dernier message: 31/03/2015, 00h18
  2. Sécurisation d'une API REST
    Par yeste64 dans le forum REST
    Réponses: 0
    Dernier message: 05/07/2014, 12h02
  3. [Authentification] API REstful PHP
    Par yoshï dans le forum REST
    Réponses: 1
    Dernier message: 22/07/2008, 10h33
  4. API java Help
    Par yayamo dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 22/01/2007, 15h04
  5. Api Java Help
    Par yayamo dans le forum Services Web
    Réponses: 1
    Dernier message: 21/01/2007, 13h14

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