26 lines
		
	
	
		
			695 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			695 B
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Basic JWT
 | 
						|
 | 
						|
This crate provide basic functions to:
 | 
						|
* Sign JWT
 | 
						|
* Parse and validate JWT
 | 
						|
 | 
						|
 | 
						|
Basic usage:
 | 
						|
 | 
						|
```rust
 | 
						|
let claims = ...; // note : claims must be serializable
 | 
						|
 | 
						|
// Generate a key pair. Private and public key are both serializable
 | 
						|
let priv_key = JWTPrivateKey::generate_ec384_signing_key().unwrap();
 | 
						|
let pub_key = priv_key.to_public_key().unwrap();
 | 
						|
 | 
						|
// Create a JWT for the given claims (note: standard claims: sub, iss, ...) are not
 | 
						|
// automatically added if they are missing
 | 
						|
let jwt = priv_key.sign_jwt(&claims).expect("Failed to sign JWT!");
 | 
						|
 | 
						|
// Validate signed JWT
 | 
						|
let claims_out = pub_key
 | 
						|
            .validate_jwt::<Claims>(&jwt)
 | 
						|
            .expect("Failed to validate JWT!");
 | 
						|
```
 |