mycelium-http-tools 8.3.1-beta.5

Provide HTTP related elements to the mycelium project.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
use crate::dtos::claims::Claims;

use actix_web_httpauth::headers::authorization::{Authorization, Bearer};
use jsonwebtoken::{
    decode, errors::Error, Algorithm, DecodingKey, TokenData, Validation,
};

pub fn decode_jwt_hs512(
    auth: Authorization<Bearer>,
    jwt_token: String,
) -> Result<TokenData<Claims>, Error> {
    decode::<Claims>(
        &auth.into_scheme().token().to_string(),
        &DecodingKey::from_secret(jwt_token.as_bytes()),
        &Validation::new(Algorithm::HS512),
    )
}