Enum HessraClient
pub enum HessraClient {
Http1(Http1Client),
}
Expand description
The main Hessra client type providing token request and verification
Variants§
Http1(Http1Client)
HTTP/1.1 client
Implementations§
§impl HessraClient
impl HessraClient
pub fn builder() -> HessraClientBuilder
pub fn builder() -> HessraClientBuilder
Create a new client builder
pub async fn fetch_public_key(
base_url: impl Into<String>,
port: Option<u16>,
server_ca: impl Into<String>,
) -> Result<String, ApiError>
pub async fn fetch_public_key( base_url: impl Into<String>, port: Option<u16>, server_ca: impl Into<String>, ) -> Result<String, ApiError>
Fetch the public key from the Hessra service without creating a client The public_key endpoint is available as both an authenticated and unauthenticated request.
pub async fn request_token(
&self,
resource: String,
operation: String,
) -> Result<TokenResponse, ApiError>
pub async fn request_token( &self, resource: String, operation: String, ) -> Result<TokenResponse, ApiError>
Request a token for a resource Returns the full TokenResponse which may include pending signoffs for multi-party tokens
pub async fn request_token_simple(
&self,
resource: String,
operation: String,
) -> Result<String, ApiError>
pub async fn request_token_simple( &self, resource: String, operation: String, ) -> Result<String, ApiError>
Request a token for a resource (legacy method) This method returns just the token string for backward compatibility
pub async fn verify_token(
&self,
token: String,
subject: String,
resource: String,
operation: String,
) -> Result<String, ApiError>
pub async fn verify_token( &self, token: String, subject: String, resource: String, operation: String, ) -> Result<String, ApiError>
Verify a token for subject doing operation on resource. This will verify the token using the remote authorization service API.
pub async fn verify_service_chain_token(
&self,
token: String,
subject: String,
resource: String,
component: Option<String>,
) -> Result<String, ApiError>
pub async fn verify_service_chain_token( &self, token: String, subject: String, resource: String, component: Option<String>, ) -> Result<String, ApiError>
Verify a service chain token. If no component is provided, the entire service chain will be used to verify the token. If a component name is provided, the service chain up to and excluding the component will be used to verify the token. This is useful for a node in the middle of the service chain verifying a token has been attested by all previous nodes.
pub async fn sign_token(
&self,
token: &str,
resource: &str,
operation: &str,
) -> Result<SignTokenResponse, ApiError>
pub async fn sign_token( &self, token: &str, resource: &str, operation: &str, ) -> Result<SignTokenResponse, ApiError>
Sign a multi-party token by calling an authorization service’s signoff endpoint
pub async fn get_public_key(&self) -> Result<String, ApiError>
pub async fn get_public_key(&self) -> Result<String, ApiError>
Get the public key from the server