JWT (JSON Web Tokens) for MoonBit with HS256 signing and verification
Dependencies
{
"deps": {
"moon-crypto/mb-jwt": "0.1.0"
}
}let payload = "{\"sub\":\"1234567890\",\"name\":\"John Doe\"}"
let secret = "your-secret-key"
let token = @jwt.sign(payload, secret)
// Returns: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOi...match @jwt.verify(token, secret) {
Ok(payload) => println("Valid! Payload: " + payload)
Err(e) => println("Invalid: " + e)
}// WARNING: Never trust unverified tokens
match @jwt.decode(token) {
Ok(payload) => println(payload)
Err(e) => println("Malformed token")
}| Function | Description |
|---|---|
| sign(payload: String, secret: String) -> String | Create a signed JWT |
| verify(token: String, secret: String) -> Result[String, String] | Verify and decode a JWT |
| decode(token: String) -> Result[String, String] | Decode without verification |
| decode_header(token: String) -> Result[String, String] | Decode the JWT header |
fn decode(token : String) -> Result[String, String]fn decode_header(token : String) -> Result[String, String]fn sign(payload : String, secret : String) -> Stringlet token = sign("{\"sub\":\"1234567890\",\"name\":\"John\"}", "secret")fn verify(token : String, secret : String) -> Result[String, String]JWT (JSON Web Tokens) for MoonBit with HS256 signing and verification
Dependencies