mirror of
https://github.com/vlang/v.git
synced 2025-09-08 06:41:58 -04:00
crypto: add JWT Payload Decoding sample (#23275)
This commit is contained in:
parent
7eec8b1cd7
commit
f8c9edde55
@ -71,9 +71,11 @@ fn main() {
|
|||||||
secret := 'your-256-bit-secret'
|
secret := 'your-256-bit-secret'
|
||||||
token := make_token(secret)
|
token := make_token(secret)
|
||||||
ok := auth_verify(secret, token)
|
ok := auth_verify(secret, token)
|
||||||
|
pl := decode_payload(token) or { panic(err) }
|
||||||
dt := sw.elapsed().microseconds()
|
dt := sw.elapsed().microseconds()
|
||||||
println('token: ${token}')
|
println('token: ${token}')
|
||||||
println('auth_verify(secret, token): ${ok}')
|
println('auth_verify(secret, token): ${ok}')
|
||||||
|
println('decode_payload(token): ${pl}')
|
||||||
println('Elapsed time: ${dt} uS')
|
println('Elapsed time: ${dt} uS')
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -93,4 +95,10 @@ fn auth_verify(secret string, token string) bool {
|
|||||||
signature_from_token := base64.url_decode(token_split[2])
|
signature_from_token := base64.url_decode(token_split[2])
|
||||||
return hmac.equal(signature_from_token, signature_mirror)
|
return hmac.equal(signature_from_token, signature_mirror)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn decode_payload(token string) !JwtPayload {
|
||||||
|
token_split := token.split('.')
|
||||||
|
payload := json.decode(JwtPayload, base64.url_decode_str(token_split[1]))!
|
||||||
|
return payload
|
||||||
|
}
|
||||||
```
|
```
|
Loading…
x
Reference in New Issue
Block a user