2015-11-09 3 views
1

J'ai suivi les documentation, et voilà comment mon code est organisé:API Symfony2 clé d'authentification - Aucun itinéraire trouvé pour

src/Société/AuthBundle/Sécurité/ApiKeyAuthenticator.php src/Société/AuthBundle/Sécurité/ApiKeyUserProvider.php

(ils sont les mêmes que les classes d'échantillons dans doc)

# File: services.yml 

apikey_authenticator: 
    class: Company\AuthBundle\Security\ApiKeyAuthenticator 
    public: false  

# File: security.yml 

    firewalls: 
    api: 
     pattern: ^/api 
     stateless: false 
     simple_preauth: 
     authenticator: apikey_authenticator 
     provider: fos_userbundle 
     security: false 
     anonymous: true 

Et maintenant, si je tente d'accéder par exemple http://symfony-project.dev/api?apikey=somekey, j'obtenu l'erreur suivante:

No route found for "GET /api"

Toute idée de ce qui ne va pas?

Répondre

2

Le message d'erreur est assez clair vraiment - vous n'avez pas défini de route pour une demande GET pour '/api'.

Le composant de sécurité que vous avez configuré prend en charge l'authentification et l'octroi d'accès, mais il ne contrôle aucune logique spécifique à votre application. Vous devez créer un contrôleur et un itinéraire pour les demandes de ce type.

Vous pouvez voir vos routes actuellement définies avec $ php app/console debug:router - si vous avez essayé de définir un itinéraire, cela vous aidera à le déboguer. Si ce n'est pas le cas, you must create one.