尝试获取当前无法使用的令牌

时间:2019-07-19 08:42:48

标签: symfony jwt token api-platform.com

我正在尝试通过JWT身份验证访问我的API:/ api / docs 但是我目前在尝试使用此命令获取令牌时遇到错误:curl -X POST -H“ Content-Type:application / json” http://localhost/login_check -d'{“ username”:“ johndoe”,“密码”:“测试”}'

我当然会替换用户名和密码

签名密钥“ /var/www/config/jwt/private.pem”不存在或不可读。您是否正确设置了“ lexik_jwt_authentication.signature_key”配置密钥? (500个内部服务器错误)

security.yaml

防火墙:         登录:             模式:^ /登录             无状态:正确             匿名:true             提供者:fos_userbundle_2             json_login:                 check_path:/ login_check                 username_path:用户名                 password_path:密码                 success_handler:lexik_jwt_authentication.handler.authentication_success                 failure_handler:lexik_jwt_authentication.handler.authentication_failure

    main:
        pattern:   ^/
        provider: fos_userbundle_2
        stateless: true
        anonymous: true
        guard:
            authenticators:
                - lexik_jwt_authentication.jwt_token_authenticator

    dev:
        pattern:  ^/(_(profiler|wdt)|css|images|js)/
        security: false

签名密钥“ /var/www/config/jwt/private.pem”不存在或不可读。您是否正确设置了“ lexik_jwt_authentication.signature_key”配置密钥? (500个内部服务器错误)

2 个答案:

答案 0 :(得分:3)

检查特权以读写opensl生成的文件。

$ mkdir -p config/jwt
$ openssl genpkey -out config/jwt/private.pem -aes256 -algorithm rsa -pkeyopt rsa_keygen_bits:4096
$ openssl pkey -in config/jwt/private.pem -out config/jwt/public.pem -pubout

在我之前的情况下:

-rw-------    1 root     root          3434 Jul 26 21:21 private.pem
-rw-r--r--    1 root     root           800 Jul 26 21:21 public.pem

然后我跑

chmod 644 public.pem private.pem

现在:

-rw-r--r--    1 root     root          3434 Jul 26 21:21 private.pem
-rw-r--r--    1 root     root           800 Jul 26 21:21 public.pem

它有效。


文档:

https://github.com/lexik/LexikJWTAuthenticationBundle/blob/master/Resources/doc/index.md#generate-the-ssh-keys

答案 1 :(得分:0)

在我的本地环境中-rw -------访问效果很好,但仅在产品中-rw-r--r--可以工作,所以我想如果您遇到此问题并确定已经创建pem文件,您应该更改private.pem的权限,即可按预期运行。