"doctrine/dbal": "^3",
"doctrine/doctrine-bundle": "^2.14",
"doctrine/doctrine-migrations-bundle": "^3.4",
"doctrine/orm": "^3.3",
"doctrine/persistence": "^3.0",
"gesdinet/jwt-refresh-token-bundle": "^1.3",
"lexik/jwt-authentication-bundle": "^3.1",
执行完: composer require "lexik/jwt-authentication-bundle"
再次执行:
# php bin/console lexik:jwt:generate-keypair
Available options:
--skip-if-exists will silently do nothing if keys already exist.
--overwrite will overwrite your keys if they already exist.
这会在 ~/config/jwt下生成一对 private.pem 和 public.pem
在 .env 下生成:
###> lexik/jwt-authentication-bundle ###
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=e6ff1a4be458abe9da450aeac31b23768f400369529878c9758f93303de5750d
###< lexik/jwt-authentication-bundle ###
将上面的配置复制到 .env.local下
详细配置参考官网:
https://symfony.com/bundles/LexikJWTAuthenticationBundle/current/index.html
执行: composer require gesdinet/jwt-refresh-token-bundle
这个默认会装^0.1版本,太底了,和上面的 lexik/jwt-authentication-bundle" 冲突,需要手动指定版本,如下
composer require gesdinet/jwt-refresh-token-bundle "^1.3"
然而还是会报其它错误:
Problem 1
- Root composer.json requires gesdinet/jwt-refresh-token-bundle ^1.3 -> satisfiable by gesdinet/jwt-refresh-token-bundle[v1.3.0, v1.4.0].
- gesdinet/jwt-refresh-token-bundle[v1.3.0, ..., v1.4.0] require doctrine/persistence ^1.3.3|^2.0|^3.0 -> found doctrine/persistence[1.3.3, ..., 1.3.8, 2.0.0, ..., 2.5.7, 3.0.0, ..., 3.4.0] but the package is fixed to 4.0.0 (lock file version) by
a partial update and that version does not match. Make sure you list it as an argument for the update command.
执行: composer require "doctrine/persistence": "^3.0"
然后再次执行: composer require gesdinet/jwt-refresh-token-bundle "^1.3"
详细配置参考官网:
https://packagist.org/packages/gesdinet/jwt-refresh-token-bundle 配置即可