JWT Token всегда возвращается как Not Found Symfony2.8 - PullRequest
0 голосов
/ 22 февраля 2019

Привет, я настроил lexik / jwt-authentication-bundle: v2.4 с Symfony2.8 и ниже мой config.yml.

  lexik_jwt_authentication:
  private_key_path:  "%kernel.root_dir%/config/jwt/private.pem" # 
  required for token creation
  public_key_path:   "%kernel.root_dir%/config/jwt/public.pem"  # 
  required for token verification
  pass_phrase:      "%jwt_key_pass_phrase%" # required for token 
 creation, usage of an environment variable is recommended
  token_ttl:        3600

И это security.yml

 firewalls:
    login:
      pattern:  ^/api/login
      stateless: true
      anonymous: true
      form_login:
          check_path:               /api/login_check
          username_parameter: username
          password_parameter: password
          success_handler:          lexik_jwt_authentication.handler.authentication_success
          failure_handler:          lexik_jwt_authentication.handler.authentication_failure

    api:
        pattern:   ^/api
        stateless: true
        provider: my_provider
        guard:
            authenticators:
                - lexik_jwt_authentication.jwt_token_authenticator

Я пытаюсь получить токен JWT с помощью почтальона.

http://localhost/j1/web/app_dev.php/api/login_check

Я получаю токен как.

 {
    "token": "eyJhbGciOiJSUzI1NiJ9.eyJyb2xlcyI6WyJST0xFX1VTRVIiXSwidXNlcm5hbWUiOiJpbmZvQGFtaXJmcmVlbGFuY2UuY29tIiwiaWF0IjoxNTUwODQ0NjQ0LCJleHAiOjE1NTA4NDgyNDR9.YKDrQ7_PaMOoW3m_reWhGb8PoNkc6wsB9EX86JNwGW4yAeG7ezqvgA4Je6AUD6BtZgGExs2oFsJTWoTAAjCyf4ZyCoUaZ7m_M7s4tJkStHgR64q1kwl1bNu21Lj0sbuAs9jjxRHzHzcNE-v8eoQf26iiXvcT1WTfhEiWQ97xtWbnTTqYzt38BjgVrqDIWDrV2CaaX-W0mHb1Ibif1VkHTgRziq1gWYgv7nqIvVVDynjIueP1HBGVBSvJPKAzzSZNWE5rcijtNVHRuH_UV0vafq1owMs8KQ8vu6pK2lH22ozHkb8V0MWHeXloHGGznAHyFnY4NPPHOwQ74hQfRT2_ibgoJ8VHtoGDsxY_8n56uIRykxk1YoXYPBEZHVEF9rCZSzCm693U-I1JNM2o6thj81tBBzTEce6csa4TbYuBEybx4zBb3pHNGAYqF3qEis63ZCzlgYsPrWOqReljfMA61QqcMcs15g6iEJ5aABgxK0FF2AuFx4_fkUDJHrZOmiasxE3ATiO4tEEf4DPizLjMsnmXgzvWkzVt1-SjBUxFLJWPGA8pCvGXrXA4-giQLWCThQ_zJ7hbGJl1_rVLT-KBoBgjV0OYaoeINh2rWXXypqo36Xh02I62_vReOCcw-He5rX6TsCuyyNAHBnP2CufC47fP-8L_ZSPWYjPxxdgOlK4"

}

И я отправляю токен для проверки токена.

http://localhost/j1/web/app_dev.php/api/locationData/8489

Авторизация: токен на предъявителя с запросом через почтальона.Но я всегда получаю результат как JWT Not Found.

 "code":401,"message":"JWT Token not found"}

Итак, я отладил код с помощью JWTTokenAuthenticator, я обнаружил, что он правильно получает заголовок Authorization в запросе, но следующий метод не возвращает токен обратно.

  $jsonWebToken = $tokenExtractor->extract($request)

Вот этот всегда верный false.Что делать, может кто-нибудь направит меня, пожалуйста.

Заранее спасибо.

...