Symfony 4.2 lexik / LexikJWTAuthenticationBundle Request api User avec un Token ne marche pas

a marqué ce sujet comme résolu.

Dans la documentation de LexikJWTAuthenticationBundle Je veux faire une demande POST sur l’entité utilisateur avec un jeton lorsque j’envoie le nom d’utilisateur et le mot de passe, il me renvoie une erreur 401:

{
    "code": 401,
    "message": "Invalid credentials."
}

Pourtant j’ai crée une clé privé et une public.

J’ai ça dans mon security.yaml

security:
    # https://symfony.com/doc/current/security.html#where-do-users-come-from-user-providers
    providers:
        in_memory: { memory: null }
    firewalls:
        dev:
            pattern: ^/(_(profiler|wdt)|css|images|js)/
            security: false
        login:
            pattern:  ^/api/login
            stateless: true
            anonymous: true
            json_login:
                check_path:               /api/login_check
                success_handler:          lexik_jwt_authentication.handler.authentication_success
                failure_handler:          lexik_jwt_authentication.handler.authentication_failure
            guard:
                authenticators:
                    - App\Security\UserAuthenticator
            logout:
                path: app_logout
                # where to redirect after logout
                # target: app_any_route
        main:
            anonymous: true

            # activate different ways to authenticate
            # https://symfony.com/doc/current/security.html#firewalls-authentication

            # https://symfony.com/doc/current/security/impersonating_user.html
            # switch_user: true

    # Easy way to control access for large sections of your site
    # Note: Only the *first* access control that matches will be used
    access_control:
        # - { path: ^/admin, roles: ROLE_ADMIN }
        # - { path: ^/profile, roles: ROLE_USER }

Merci d’avance.

Hello,

Je réponds probablement un peu tard mais si tu as ce problème c’est probablement parce que tu as sécurisé toutes tes routes /api (contrairement à ce que semble dire ton fichier de configuration)

Il faut ignorer le login comme ils suggèrent dans leur documentation:

    access_control:
        - { path: ^/api/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
        - { path: ^/api,       roles: IS_AUTHENTICATED_FULLY }
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte