File size: 804 Bytes
708809b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function decodeBase64Url(base64Url) {
    // Thay các ký tự theo chuẩn Base64 URL thành chuẩn Base64 thông thường
    let base64 = base64Url.replace(/-/g, '+').replace(/_/g, '/');
    // Thêm padding nếu thiếu
    base64 += '='.repeat((4 - base64.length % 4) % 4);
    // Giải mã từ Base64 sang chuỗi JSON
    return JSON.parse(atob(base64));
}

export default function jwtDecoder(jwtToken) {
    const [header, payload, _] = jwtToken.split('.');

    // Giải mã Header và Payload
    const decodedHeader = decodeBase64Url(header);
    const decodedPayload = decodeBase64Url(payload);
    console.log("Signature:", _);

    console.log("Header:", decodedHeader);
    console.log("Payload:", decodedPayload);
    return {"header": decodedHeader, "payload": decodedPayload}
}