Better example
This commit is contained in:
parent
31d99324e2
commit
fb229e1425
|
@ -1,11 +1,8 @@
|
||||||
extern crate jsonwebtoken as jwt;
|
extern crate jsonwebtoken as jwt;
|
||||||
extern crate rustc_serialize;
|
extern crate rustc_serialize;
|
||||||
|
|
||||||
use jwt::{
|
use jwt::{encode, decode, Algorithm};
|
||||||
Algorithm,
|
use jwt::errors::{Error};
|
||||||
encode,
|
|
||||||
decode
|
|
||||||
};
|
|
||||||
|
|
||||||
#[derive(Debug, RustcEncodable, RustcDecodable)]
|
#[derive(Debug, RustcEncodable, RustcDecodable)]
|
||||||
struct Claims {
|
struct Claims {
|
||||||
|
@ -19,6 +16,16 @@ fn main() {
|
||||||
company: "ACME".to_owned()
|
company: "ACME".to_owned()
|
||||||
};
|
};
|
||||||
let key = "secret";
|
let key = "secret";
|
||||||
let token = encode::<Claims>(my_claims, key.to_owned(), Algorithm::HS256).unwrap();
|
let token = match encode::<Claims>(my_claims, key.to_owned(), Algorithm::HS256) {
|
||||||
let claims = decode::<Claims>(token.to_owned(), key.to_owned(), Algorithm::HS256).unwrap();
|
Ok(t) => t,
|
||||||
|
Err(_) => panic!() // in practice you would return the error
|
||||||
|
};
|
||||||
|
|
||||||
|
let claims = match decode::<Claims>(token.to_owned(), key.to_owned(), Algorithm::HS256) {
|
||||||
|
Ok(c) => c,
|
||||||
|
Err(err) => match err {
|
||||||
|
Error::InvalidToken => panic!(), // Example on how to handle a specific error
|
||||||
|
_ => panic!()
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue