เมื่อคุณต้องการสร้างโทเค็นด้วยวิธี JWT คุณสามารถใช้ไลบรารีใดก็ได้ที่สร้าง JWT ตามมาตรฐานเว็บ (RFC7519) และสามารถอ้างอิงได้ที่ลิงก์นี้ https://jwt.io โดยกำหนดข้อมูลโทเค็นใน Payload และกำหนดคีย์เพื่อเข้ารหัสใน Secret โดยใช้อัลกอริทึม HS256
ข้างล่างคือตัวอย่างของข้อมูลโทเค็นที่ถูกเข้ารหัสด้วยข้อมูล "this_is_test_secret_key_at_least_32_char"
{
"uid": "test-user-2",
"fullname": "박토끼",
"email": "tokki.park@test.com",
"ts": 1596611792131
}
```python
import jwt
token = jwt.encode({
"uid": "test-user-2",
"fullname": "박토끼",
"email": "tokki.park@test.com",
"ts": 1596611792131
}, 'this_is_test_secret_key_at_least_32_char', algorithm='HS256')
print(token.decode('utf-8'))
# ผลลัพธ์ : eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJ0ZXN0LXVzZXItMiIsImZ1bGxuYW1lIjoiXHViYzE1XHVkMWEwXHViMDdjIiwiZW1haWwiOiJ0b2traS5wYXJrQHRlc3QuY29tIiwidHMiOjE1OTY2MTE3OTIxMzF9.ve6WJli1HrtU03SlWuDKAmYxFSM6dmxOe-1DGH65J8o
# ผลลัพธ์อาจแตกต่างกันไปตามเวลา คุณสามารถตรวจสอบได้ที่ <https://jwt.io>
```
```csharp
using Microsoft.IdentityModel.Tokens;
using System;
using System.Collections.Generic;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
namespace jwt_test
{
class Test
{
static void Main(String[] args)
{
var tokenHandler = new JwtSecurityTokenHandler();
var tokenDescriptor = new SecurityTokenDescriptor
{
Claims = new Dictionary<string, object>
{
{"uid", "test-user-2" },
{"fullname", "박토끼" },
{"email", "tokki.park@test.com" },
{"ts", 1596611792131L },
},
SigningCredentials = new SigningCredentials(
new SymmetricSecurityKey(Encoding.UTF8.GetBytes("this_is_test_secret_key_at_least_32_char")),
SecurityAlgorithms.HmacSha256Signature
)
};
var stoken = tokenHandler.CreateToken(tokenDescriptor);
var token = tokenHandler.WriteToken(stoken);
Console.WriteLine(token);
// ผลลัพธ์ : eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1aWQiOiJ0ZXN0LXVzZXItMiIsImZ1bGxuYW1lIjoi67CV7Yag64G8IiwiZW1haWwiOiJ0b2traS5wYXJrQHRlc3QuY29tIiwidHMiOjE1OTY2MTE3OTIxMzEsIm5iZiI6MTU5Njc2NzQwMSwiZXhwIjoxNTk2NzcxMDAxLCJpYXQiOjE1OTY3Njc0MDF9.5Ol83EyKiRWc6FoSJPEqv4zJFlIowMDKmvVPsomQVWQ
// ผลลัพธ์อาจแตกต่างกันไปตามเวลา คุณสามารถตรวจสอบได้ที่ <https://jwt.io>
}
}
}
```
```java
import io.jsonwebtoken.Jwts;
import io.jsonwebtoken.SignatureAlgorithm;
public class Main {
public static void main(String args[]) {
String token = Jwts.builder()
.setHeaderParam("typ", "JWT") // สามารถไม่ระบุได้
.claim("uid", "test-user-2")
.claim("fullname", "박토끼")
.claim("email", "tokki.park@test.com")
.claim("ts", 1596611792131L)
.signWith(SignatureAlgorithm.HS256, "this_is_test_secret_key_at_least_32_char".getBytes())
.compact();
System.out.println(token);
// ผลลัพธ์ : eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiJ0ZXN0LXVzZXItMiIsImZ1bGxuYW1lIjoi67CV7Yag64G8IiwiZW1haWwiOiJ0b2traS5wYXJrQHRlc3QuY29tIiwidHMiOjE1OTY2MTE3OTIxMzF9.akIXRvSad0wjv6y86ko7-KkJHwjMfTPDwXQOYOlixHQ
// ผลลัพธ์อาจแตกต่างกันไปตามเวลา คุณสามารถตรวจสอบได้ที่ <https://jwt.io>
}
}
```