https://github.com/mon99745/tokenreference
π Reference for issuing and verifying JWT tokens using RSA
https://github.com/mon99745/tokenreference
base58 hash jwt pki privatekey publickey rsa sha256 token
Last synced: 4 days ago
JSON representation
π Reference for issuing and verifying JWT tokens using RSA
- Host: GitHub
- URL: https://github.com/mon99745/tokenreference
- Owner: mon99745
- License: mit
- Created: 2023-11-22T02:02:58.000Z (almost 2 years ago)
- Default Branch: dev
- Last Pushed: 2025-01-22T02:51:45.000Z (9 months ago)
- Last Synced: 2025-03-23T19:38:59.246Z (7 months ago)
- Topics: base58, hash, jwt, pki, privatekey, publickey, rsa, sha256, token
- Language: Java
- Homepage:
- Size: 2.98 MB
- Stars: 2
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Json Web Token, JwtsReference
μ΄ νλ‘μ νΈλ io.jsonwebtoken:jjwt-api λΌμ΄λΈλ¬λ¦¬λ₯Ό λ체νμ¬ JwtProvider μν μ μννλ λͺ©μ μΌλ‘ μμ±λ κ²°κ³Όλ¬Όμ΄λ©°,
Json Web Tokenμ 컀μ€ν λ°ν λ° κ²μ¦νμ¬ κ΄λ ¨ μΉ΄ν κ³ λ¦¬ κ°λ°μ μκ° λΉμ©μ μ κ°νκ³ , νλ‘μ νΈμ μμ€μ μ€μ νμΌμ κ·κ²©μ ν΅μΌνμ¬ μ½λμ νμ§κ³Ό κ°λ μ± ν₯μνκΈ° μν λͺ©νλ‘ μ¦κ° μν€κΈ° μν λͺ©νλ‘ μΆμ§νλ€.The ultimate goal:
* Json Web Token λ°κΈμ νμν λΌμ΄λΈλ¬λ¦¬ `io.jsonwebtoken:jjwt-*` λ₯Ό λ체 κ°λ₯νλλ‘ νλ€.
* Json Web Token λ°κΈκ³Ό κ²μ¦μ μ΅μνμ μ 보λ₯Ό λ΄μ 컀μ€ν μ¬μ©μ±μ νμ₯νκ³ , μ΄λ₯Ό μ©μ΄νλλ‘ νλ€.# Release
- [v1.2.0](./RELEASENOTE.md#v100-2025-09-12-) `-ing`
- [v1.1.0](./RELEASENOTE.md#v100-2024-04-24-)
- [v1.0.0](./RELEASENOTE.md#v100-2024-01-30-)# Process


# Guides
1. HTTP ν΅μ λ°©μ (API νΈμΆ)
1. API νΈμΆ κ°μ΄λ
2. API Method List
3. API Response Format
4. API μμΈμ€λͺ
1. ν ν° λ°ν
2. ν ν° κ²μ¦
3. ν ν° μ 보 μΆμΆ[//]: # (1. JAR λΌμ΄λΈλ¬λ¦¬ νΈμΆ λ°©μ )
[//]: # ( 1. JAR λΌμ΄λΈλ¬λ¦¬ νΈμΆ κ°μ΄λ)
[//]: # ( 2. Service Method List )
[//]: # ( 3. Service Response Format )
[//]: # ( 4. Service μμΈμ€λͺ )
[//]: # ( 1. ν ν° λ°ν)
[//]: # ( 2. ν ν° κ²μ¦)
[//]: # ( 3. ν ν° μ 보 μΆμΆ)
## HTTP ν΅μ λ°©μ (API νΈμΆ)
### 1. API νΈμΆ κ°μ΄λ
- ν΄λΉ νλ‘μ νΈλ₯Ό λ 립μ μΌλ‘ ꡬμ±νμ¬ HTTP ν΅μ νμ¬ ν΄λΉ κΈ°λ₯μ μν.### 2. API Method List
| Method Name | HTTP Method | Description |
|-------------|-------------|----------|
| api/v1/createToken | POST | ν ν° λ°ν |
| api/v1/verifyToken | POST | ν ν° κ²μ¦ |
| api/v1/extractClaim | POST | ν ν° μ 보 μΆμΆ |### 3. API Response Format
| Key | Value | Description |
|------------|-------|----------------------------------|
| claim | Map | ν ν° μ 보 ν¬ν¨λλ λ°μ΄ν°
(ν ν° κ²μ¦ μ μ μΈ) |
| jwt | String | ν ν° |
| resultCode | String | κ²°κ³Ό μ½λ |
| resultMsg | String | κ²°κ³Ό λ©μμ§ |
```json
{
"claim": {
"ci": "12345678",
"role": "user",
"username": "test_user",
"password": "[VK+SJA26vJFCuDL/kPYAQ073GZTmTOpAbi5izZ10AFx3NlDDW6brVoBOeFlfA5hxHeOQw+Pz+M/XN.."
},
"jwt": "e29JzDyi.mwVQotk9DFqLwPpLw8TutiwiX6x4XQUrYtngFyoC7VPVs1txq54NGuzWbHt12rGbA6nnetYSnAinJRpVRzjyXj3GogWjwb2FMeYPshrZFhpaVvJFy2g39FcNusGHoHH5uBcmdEvme6g2crSuNKXbtsaREbakFtGu4oCk7CuVvz1XoAoc43Lc1hAbdU2VReEF7wxsKYQQLk.Ou+L/qyvpu8ssLpZ+qtDOYRQvHEcT/Qvq86KPapmXugS3SvZPnTnZdjzAB+Kcfd+bZX+OjXMBprUQHId25oD5OVK9XVq+3p839qpiJrbdYx6jWG7R5FhlQzQsH2CZezizUEkUlpc5Q38CNN3eJEZAOkO0TXhyMSyUkKyrMVDdVcLdJEzEXTVhwIICfG/+JCziI7/ijqBfSlGE4yB+14tfV2Ks2LdjfXf65zphz1Wm43oP2jzPFvreKta1twUKvhzKLAiYsxMD+kuL14zOJvYQJlnGozZG4rJT8qZUEVMglbCuoeqmXzmAUSGOcg6uaIN2/uPFT4oOgkmAkC5bvKw2g==",
"resultCode": "200",
"resultMsg": "Success"
}
```
### 4. API μμΈμ€λͺ
#### a. ν ν° λ°ν
- μ¬μ©μμ μ 보λ₯Ό ν΅ν΄ ν ν°μ λ°ννλ€.
- **λ©μλλͺ : api/v1/createToken**| Request Type | Value | Description |
|--------------|--------|-------------|
| POST | JSONObject | JSONObject |#### 1-2) Request Parameters
* ν ν°μ λ΄κΈ°λ μ 보λ νμμ λ°λΌ λ¬λΌμ§λ€(μλμ νλλ μ¬μ©νμ§ μμλ 무κ΄)| Key | Value | Description |
|----------|-----------|--------------------------|
| ci | String | κ΅¬λΆ μ½λ κ° |
| role | String | μ¬μ©μ κΆν |
| username | String | μ¬μ©μ μμ΄λ |
| password | String | μ¬μ©μ ν¨μ€μλ
(νλ¬Έ/μνΈλ¬Έ 무κ΄) |
| ... | Primitive Types | μ¬μ©μ μ 보 |```json
{
"ci": "12345678",
"role" : "user",
"username" : "test_user",
"password" : "[VK+SJA26vJFCuDL/kPYAQ073GZTmTOpAbi5izZ10AFx3NlDDW6brVoBOeFlfA5hxHeOQw+Pz+M/XN.."
}
```#### b. ν ν° κ²μ¦
- μ¬μ©μμ ν ν°μ κ²μ¦νλ€.
- **λ©μλλͺ : api/v1/verifyToken**| Request Type | Value | Description |
|--------------|--------|-------------|
| POST | JSONObject | JSONObject |#### 1-2) Request Parameters
| Key | Value | Description |
|-----|-----------|-------------|
| jwt | String | ν ν° κ° |```json
{
"jwt": "e29JzDyi.mwVQotk9DFqLwPpLw8TutiwiX6x4XQUrYtngFyoC7VPVs1txq54NGuzWbHt12rGbA6nnetYSnAinJRpVRzjyXj3GogWjwb2FMeYPshrZFhpaVvJFy2g39FcNusGHoHH5uBcmdEvme6g2crSuNKXbtsaREbakFtGu4oCk7CuVvz1XoAoc43Lc1hAbdU2VReEF7wxsKYQQLk.Ou+L/qyvpu8ssLpZ+qtDOYRQvHEcT/Qvq86KPapmXugS3SvZPnTnZdjzAB+Kcfd+bZX+OjXMBprUQHId25oD5OVK9XVq+3p839qpiJrbdYx6jWG7R5FhlQzQsH2CZezizUEkUlpc5Q38CNN3eJEZAOkO0TXhyMSyUkKyrMVDdVcLdJEzEXTVhwIICfG/+JCziI7/ijqBfSlGE4yB+14tfV2Ks2LdjfXf65zphz1Wm43oP2jzPFvreKta1twUKvhzKLAiYsxMD+kuL14zOJvYQJlnGozZG4rJT8qZUEVMglbCuoeqmXzmAUSGOcg6uaIN2/uPFT4oOgkmAkC5bvKw2g=="
}
```#### c. ν ν° μ 보 μΆμΆ
- μ¬μ©μμ ν ν°μ ν΅ν΄ λ΄λΆ μ 보λ₯Ό μΆμΆνλ€.
- ν΄λΉ ν ν°μ λ§λ£ μ¬λΆμ κ΄κ³μμ΄ μλͺ κ²μ¦λ§ ν΅κ³Όνλ©΄ λ΄λΆ μ 보(ν΄λ μ)μ μΆμΆν μ μλ€.
- **λ©μλλͺ : api/v1/extractClaim**| Request Type | Value | Description |
|--------------|--------|-------------|
| POST | JSONObject | JSONObject |#### 1-2) Request Parameters
| Key | Value | Description |
|-----|-----------|-------------|
| jwt | String | ν ν° κ° |```json
{
"jwt": "e29JzDyi.mwVQotk9DFqLwPpLw8TutiwiX6x4XQUrYtngFyoC7VPVs1txq54NGuzWbHt12rGbA6nnetYSnAinJRpVRzjyXj3GogWjwb2FMeYPshrZFhpaVvJFy2g39FcNusGHoHH5uBcmdEvme6g2crSuNKXbtsaREbakFtGu4oCk7CuVvz1XoAoc43Lc1hAbdU2VReEF7wxsKYQQLk.Ou+L/qyvpu8ssLpZ+qtDOYRQvHEcT/Qvq86KPapmXugS3SvZPnTnZdjzAB+Kcfd+bZX+OjXMBprUQHId25oD5OVK9XVq+3p839qpiJrbdYx6jWG7R5FhlQzQsH2CZezizUEkUlpc5Q38CNN3eJEZAOkO0TXhyMSyUkKyrMVDdVcLdJEzEXTVhwIICfG/+JCziI7/ijqBfSlGE4yB+14tfV2Ks2LdjfXf65zphz1Wm43oP2jzPFvreKta1twUKvhzKLAiYsxMD+kuL14zOJvYQJlnGozZG4rJT8qZUEVMglbCuoeqmXzmAUSGOcg6uaIN2/uPFT4oOgkmAkC5bvKw2g=="
}
```