配置LEXIK JWT AUTHENTICATION BUNDLE

时间:2017-01-30 11:47:06

标签: symfony

当我尝试配置LEXIK JWT AUTHENTICATION BUNDLE时,我会收到此错误。我是如何解决的。

  

FileLoader.php第133行中的FileLoaderLoadException:没有   扩展能够加载" jwt_private_key_path"的配置。   (在   /var/www/html/EduboldPortalApp/eduboldportal/app/config/parameters.yml)。   查找命名空间" jwt_private_key_path",找到"框架",   "安全"," twig"," monolog"," swiftmailer"," doctrine",   " sensio_framework_extra"," doctrine_mongodb",   " lexik_jwt_authentication"," fos_rest"," debug"," web_profiler",   " sensio_distribution"在   /var/www/html/EduboldPortalApp/eduboldportal/app/config/parameters.yml   (正在从中导入   " /var/www/html/EduboldPortalApp/eduboldportal/app/config/config.yml")

。      

没有可以加载配置的扩展程序   " jwt_private_key_path" (在   /var/www/html/EduboldPortalApp/eduboldportal/app/config/parameters.yml)。   查找命名空间" jwt_private_key_path",找到"框架",   "安全"," twig"," monolog"," swiftmailer"," doctrine",   " sensio_framework_extra"," doctrine_mongodb",   " lexik_jwt_authentication"," fos_rest"," debug"," web_profiler",   " sensio_distribution"

3 个答案:

答案 0 :(得分:0)

当您不将捆绑包添加到AppKernel时,会发生这种情况。添加行...

new Lexik\Bundle\JWTAuthenticationBundle\LexikJWTAuthenticationBundle(),

... registerBundles()中方法app/appKernel.php中的包数组应解决问题。

答案 1 :(得分:0)

我们需要将parameters.yml写为:

parameters:
   jwt_private_key_path: '%kernel.root_dir%/config/jwt/private.pem' # ssh private key path
   jwt_public_key_path:  '%kernel.root_dir%/config/jwt/public.pem'  # ssh public key path
   jwt_key_pass_phrase:  ''                                         # ssh key pass phrase
   jwt_token_ttl:        3600

答案 2 :(得分:0)

也许此link可以为您提供帮助

生成SSH密钥:

$ mkdir -p config/jwt # For Symfony3+, no need of the -p option
$ openssl genrsa -out config/jwt/private.pem -aes256 4096
$ openssl rsa -pubout -in config/jwt/private.pem -out config/jwt/public.pem

如果第一个openssl命令强制您输入密码,然后使用以下命令来解密私钥

$ openssl rsa -in config/jwt/private.pem -out config/jwt/private2.pem
$ mv config/jwt/private.pem config/jwt/private.pem-back
$ mv config/jwt/private2.pem config/jwt/private.pem

配置:

在config / packages / lexik_jwt_authentication.yaml中配置SSH密钥路径

lexik_jwt_authentication:
    secret_key:       '%kernel.project_dir%/config/jwt/private.pem' 
    public_key:       '%kernel.project_dir%/config/jwt/public.pem'  
    pass_phrase:      'your_secret_passphrase' 
    token_ttl:        3600