> ## 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]
>
> 이 확장 기능은 제3자가 작성하고 관리합니다. VillageSQL은 이를 빌드, 테스트,
> 배포하지 않으며, 아래 설명은 관리자의 자체 문서를 따릅니다. 이 확장 기능에
> 의존하기 전에 해당 문서를 읽으세요.

## 설치

저장소에서 VillageSQL 빌드 트리(`VillageSQL_BUILD_DIR`)를 기준으로 빌드하고, `.veb` 파일을 서버의 `veb_dir`에 복사한 다음 설치합니다:

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

## 추가되는 기능

| 함수 | 반환값 | 설명 |
| - | - | - |
| `jwt_sign(payload, secret, algorithm)` | text | 페이로드에 서명하고 토큰을 반환 |
| `jwt_verify(token, secret, algorithm)` | text | 서명을 확인하고 `valid`, `header`, `payload`를 담은 JSON 봉투를 반환 |
| `jwt_decode(token)` | text | 서명을 확인하지 않고 토큰의 내용을 읽음 |

HMAC 서명은 HS256, HS384, HS512로, RSA 서명은 RS256으로 지원됩니다.

> [!WARNING]
>
> `jwt_decode`는 아무것도 검증하지 않습니다. 같은 토큰에 대해 `jwt_verify`가
> 통과하기 전까지는, 디코딩된 페이로드를 사실이 아니라 누군가가 보낸 텍스트로
> 취급하세요.

## 참고 항목

* [vsql\_oauth2](https://villagesql.com/docs/ko/extensions/vsql-oauth2.md) — SQL에서 토큰을 다루는 대신 JWT로 데이터베이스 자체에 로그인하기
* [사용 가능한 확장 기능](https://villagesql.com/docs/ko/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.