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 :

[4.1] Authentification Basic pour une api Rest


Sujet :

Symfony PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 51
    Par défaut [4.1] Authentification Basic pour une api Rest
    Bonjour à tous,

    J'ai besoin de vos lumières pour réaliser l'authentification d'un service rest.

    Le but est de mettre en place un service rest via une authentification basic sans aucun bundle genre (FOS etc..)

    J'ai commencé par installer le plugin de sécurité, et j'ai modifié le fichier de sécurité comme suis :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    security:
        providers:
            in_memory:  
                memory:
                    users:
                        [mon user]:
                            password: [Mon password crypté]
                            roles: 'ROLE_ADMIN'
        encoders:
            Symfony\Component\Security\Core\User\User:
                algorithm: bcrypt
                cost: 12
        firewalls:
            dev:
                pattern: ^/(_(profiler|wdt)|css|images|js)/
                security: false
            main:
                anonymous: ~
                http_basic: ~
     
        access_control:
            - { path: ^/api, roles: ROLE_ADMIN }
    j'ai créer une route avec un contrôleur pour gérer les actions sur /api pour tester.

    Mais je bloque sur deux trucs très bête....trop l'habitude d'utiliser FOS

    1 -> comment je peux gérer l'authentification via un appel rest ? (via un listener ou autre)
    2 -> comment je peux faire le contrôle du user, et retourner une message d'erreur formaté en rest si le login / pass n'est pas bon

    Quelles sont les étapes ? quelqu'un connaitrait un tuto sur le basic auth pour faire un service rest ? sans passer par un bundle FOS ?

    Merci pour votre aide

    ++
    decad7

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2013
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2013
    Messages : 34
    Par défaut
    Bonjour,

    1) Qu' entends tu par gérer l'authentification via ton api rest ?
    - Tu vas juste faire un envoi login/mdp chiffré à ton api pour validation du couple ?

    2) Le basic_auth se definira au niveau de ton firewall.

    Pour information le basic auth n'est pas du tout sécurisé.
    Le message que tu devra renvoyer ne doit pas comporter l'élément posant problème du style : mot de passe invalide -> c'est à dire que le login existe donc brute force vu.

    Bon courage

Discussions similaires

  1. Réponses: 5
    Dernier message: 26/06/2018, 19h28
  2. Quelle structure (endpoints) pour une API REST
    Par vallica dans le forum Langages serveur
    Réponses: 12
    Dernier message: 05/12/2017, 17h47
  3. Quel langage pour une API REST web "haute performance" ?
    Par onepix dans le forum Langages de programmation
    Réponses: 0
    Dernier message: 10/06/2017, 18h22
  4. Réponses: 0
    Dernier message: 10/10/2016, 10h43
  5. Format d'un JSON pour une API REST
    Par pierapi dans le forum Langage
    Réponses: 2
    Dernier message: 17/09/2015, 15h15

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