📜  jwt 密钥生成器 laravel - SQL (1)

📅  最后修改于: 2023-12-03 15:17:07.237000             🧑  作者: Mango

JWT 密钥生成器 Laravel - SQL

这是一个用于生成 JWT 密钥的 Laravel 应用程序,它使用 SQL 数据库来存储密钥和相关信息。这个应用程序可以方便地为你的 Laravel 应用程序生成一个安全的 JWT 密钥。

安装
  1. 使用 Composer 安装依赖

    composer require lcobucci/jwt
    
  2. 创建数据库表

    php artisan migrate
    
  3. .env 文件中添加以下配置

    JWT_KEY_TABLE=jwt_keys
    JWT_KEY_COLUMN=key
    JWT_ALGO=HS256
    
使用

要在应用程序中使用生成的 JWT 密钥,请使用以下代码:

<?php

use Lcobucci\JWT\Builder;
use Lcobucci\JWT\Signer\Hmac\Sha256;

$key = \DB::table(config('jwt-keygen.table'))->get()->first()->key;

$token = (new Builder())->setIssuer('your_issurer')
                        ->setAudience('your_audience')
                        ->setId('your_token_id', true)
                        ->setIssuedAt(time())
                        ->setExpiration(time() + 3600)
                        ->sign(new Sha256(), $key)
                        ->getToken();

echo $token;
生成新密钥

要生成新的 JWT 密钥,请使用以下命令:

php artisan jwt-keygen:generate

这将在数据库中生成一个新的密钥,并将其输出到控制台。注意,你需要手动将这个密钥添加到你的应用程序代码中。

查看密钥列表

要查看当前存储在数据库中的所有密钥,请使用以下命令:

php artisan jwt-keygen:list-keys

这将打印出一个表格,其中包含所有密钥及其相关信息。

报告问题

如果你在使用这个应用程序时遇到任何问题,请到 GitHub 上报告问题:

https://github.com/your_username/jwt-keygen-laravel/issues
贡献代码

如果你想为这个应用程序做出贡献,请 fork 这个仓库并提交PR:

https://github.com/your_username/jwt-keygen-laravel/pulls

我们欢迎任何形式的贡献,包括但不限于:

  • Bug 修复
  • 功能增强
  • 文档改进
  • 单元测试