> ## Documentation Index
> Fetch the complete documentation index at: https://villagesql.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# MySQL 的 vsql_pgjwt 扩展

> 社区扩展 vsql_pgjwt 在 MySQL 内部签名、验证和解码 JSON Web Token，支持 HS256、HS384、HS512 和 RS256。

`vsql_pgjwt` 在 SQL 中签名、验证和解码 JSON Web Token。存储函数可以
返回一个已签名的令牌，查询可以检查收到的令牌，而无需调用应用程序。

| | |
| - | - |
| **维护者** | [Anurag Ojha](https://github.com/intojhanurag) |
| **源代码和文档** | [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt) |
| **许可证** | GPL-2.0 |

> [!NOTE]
>
> 此扩展由第三方编写和维护。VillageSQL 不构建、测试或发布它，
> 下面的描述遵循维护者自己的文档。在依赖它之前，请先阅读该文档。

## 安装

针对 VillageSQL 构建树（`VillageSQL_BUILD_DIR`）从存储库构建它，将 `.veb` 文件复制到服务器的 `veb_dir` 中，然后安装它：

```sql theme={null}
INSTALL EXTENSION vsql_pgjwt;
```

## 新增内容

| 函数 | 返回 | 作用 |
| - | - | - |
| `jwt_sign(payload, secret, algorithm)` | 文本 | 对载荷签名并返回令牌 |
| `jwt_verify(token, secret, algorithm)` | 文本 | 检查签名并返回包含 `valid`、`header` 和 `payload` 的 JSON 信封 |
| `jwt_decode(token)` | 文本 | 读取令牌内容，不检查签名 |

HMAC 签名支持 HS256、HS384 和 HS512，RSA 支持 RS256。

> [!WARNING]
>
> `jwt_decode` 不验证任何内容。在 `jwt_verify` 对同一令牌验证通过之前，
> 请把解码出的载荷当作别人发给您的文本，而不是事实。

## 另请参阅

* [vsql\_oauth2](https://villagesql.com/docs/zh/extensions/vsql-oauth2.md) — 用 JWT 登录数据库本身，而不是在 SQL 中处理令牌
* [可用扩展](https://villagesql.com/docs/zh/extensions/catalog) — 完整目录
* [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt) — 源代码、示例、错误处理和已知限制


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.