指尖上的记忆指尖上的记忆
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
首页
  • 基础
  • Laravel框架
  • Symfony框架
  • 基础
  • Gin框架
  • 基础
  • Spring框架
  • 命令
  • Nginx
  • Ai
  • Deploy
  • Docker
  • K8s
  • Micro
  • RabbitMQ
  • Mysql
  • PostgreSsql
  • Redis
  • MongoDb
  • Html
  • Js
  • 前端
  • 后端
  • Git
  • 知识扫盲
  • Golang
🌟 gitHub
Symfony之jwt的使用:
gesdinet/jwt-refresh-token-bundle 和 lexik/jwt-authentication-bundle 一起使用实现 生成token和 refresh_token操作
参考文档: https://github.com/markitosgv/JWTRefreshTokenBundle

symfony7下关于 lexik/jwt-authentication-bundle 的补充
直接执行 $ php bin/console lexik:jwt:generate-keypair 的时候,会生成 private.pem 和 public.pem, (实际上带有test)这是没有问题的.

然后通过环境变量读取:
JWT_SECRET_KEY=%kernel.project_dir%/config/jwt/private.pem
JWT_PUBLIC_KEY=%kernel.project_dir%/config/jwt/public.pem
JWT_PASSPHRASE=

使用验证,但是这样的 private.pem 是不安全的(测试环境当然是没问题的),所以还有个配置 JWT_PASSPHRASE, 这个参数是在执行 php bin/console lexik:jwt:generate-keypair 之前,手动配置的,比如 JWT_PASSPHRASE=c8f13be9d73a48f2e97ef11bbfdf7e1e589ca45d2a679c37e0bc431c4fe12591,
然后再执行 php bin/console lexik:jwt:generate-keypair, 此时 private.pem 就是加密的.

可以用 openssl 验证一下私钥是否被加密:
$ openssl rsa -in config/jwt/private-test.pem
它会提示输入 pass phrase,说明私钥已经被加密保护。