> ## 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.

# Extensão vsql_pgjwt para MySQL

> A extensão da comunidade vsql_pgjwt assina, verifica e decodifica JSON Web Tokens dentro do MySQL, com suporte a HS256, HS384, HS512 e RS256.

O `vsql_pgjwt` assina, verifica e decodifica JSON Web Tokens dentro do SQL. Uma
função armazenada pode devolver um token assinado, e uma consulta pode
verificar um que recebeu sem chamar uma aplicação externa.

| | |
| - | - |
| **Mantenedor** | [Anurag Ojha](https://github.com/intojhanurag) |
| **Código-fonte e documentação** | [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt) |
| **Licença** | GPL-2.0 |

> [!NOTE]
>
> Um terceiro escreve e mantém esta extensão. O VillageSQL não a compila, não a
> testa e não a distribui, e a descrição abaixo segue a documentação do próprio
> mantenedor. Leia essa documentação antes de depender dela.

## Instalar

Compile-o a partir do repositório com uma árvore de compilação do VillageSQL (`VillageSQL_BUILD_DIR`), copie o arquivo `.veb` para o `veb_dir` do servidor e, em seguida, instale-o:

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

## O que ela adiciona

| Função | Retorna | O que faz |
| - | - | - |
| `jwt_sign(payload, secret, algorithm)` | texto | Assina um payload e retorna o token |
| `jwt_verify(token, secret, algorithm)` | texto | Verifica a assinatura e retorna um envelope JSON com `valid`, `header` e `payload` |
| `jwt_decode(token)` | texto | Lê o conteúdo de um token sem verificar a assinatura |

A assinatura HMAC é suportada como HS256, HS384 e HS512, e RSA como RS256.

> [!WARNING]
>
> O `jwt_decode` não verifica nada. Trate um payload decodificado como texto
> que alguém lhe enviou, e não como um fato, até que o `jwt_verify` tenha
> aprovado o mesmo token.

## Veja também

* [vsql\_oauth2](https://villagesql.com/docs/pt-BR/extensions/vsql-oauth2.md) — fazer login no próprio banco de dados com um JWT, em vez de tratar tokens em SQL
* [Extensões disponíveis](https://villagesql.com/docs/pt-BR/extensions/catalog) — o catálogo completo
* [intojhanurag/vsql-pgjwt](https://github.com/intojhanurag/vsql-pgjwt) — código-fonte, exemplos, tratamento de erros e as limitações conhecidas


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