嗨,我已经用 Symfony2.8 配置了 lexik/jwt-authentication-bundle:v2.4,以下是我的 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
授权:Bearer {token} 与使用邮递员的请求。但我总是得到 JWT Not Found 的结果。
"code":401,"message":"JWT Token not found"}
所以我用 JWTTokenAuthenticator 调试了代码,我发现它在请求中正确获取了 Authorization 标头,但是以下方法不会返回令牌。
$jsonWebToken = $tokenExtractor->extract($request)
在这里,这总是返回 false。怎么办可以请任何人指导我。
提前致谢。