hessra-client 0.2.0

HTTP client for Hessra authorization services
Documentation
use serde::{Deserialize, Serialize};

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct TokenRequest {
    pub resource: String,
    pub operation: String,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct TokenResponse {
    pub response_msg: String,
    pub token: Option<String>,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct VerifyTokenRequest {
    pub token: String,
    pub subject: String,
    pub resource: String,
    pub operation: String,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct VerifyTokenResponse {
    pub response_msg: String,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct PublicKeyResponse {
    pub response_msg: String,
    pub public_key: String,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct HealthResponse {
    pub status: String,
    pub version: String,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct IdentityTokenRequest {
    pub identifier: Option<String>,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct IdentityTokenResponse {
    pub response_msg: String,
    pub token: Option<String>,
    pub expires_in: Option<u64>,
    pub identity: Option<String>,
}

#[derive(Serialize, Deserialize, Debug, Clone)]
pub struct RefreshIdentityTokenRequest {
    pub current_token: String,
    pub identifier: Option<String>,
}