openid-client 1.0.0-alpha.7

OpenID client for Rust
Documentation
use serde::Deserialize;

/// Supported client authentication methods for interacting with OIDC endpoints.
#[derive(Debug, Deserialize, Clone, PartialEq)]
#[serde(rename_all = "snake_case")]
pub enum AuthMethods {
    /// No client authentication is performed.
    None,
    /// Authentication using the client secret via the HTTP Basic scheme.
    ClientSecretBasic,
    /// Authentication using the client secret sent in the request body.
    ClientSecretPost,
    /// Authentication using a JWT signed with the client secret.
    ClientSecretJwt,
    /// Authentication using a JWT signed with the client's private key.
    PrivateKeyJwt,
    /// Authentication using Mutual TLS with a CA-issued certificate.
    TlsClientAuth,
    /// Authentication using Mutual TLS with a self-signed certificate.
    SelfSignedTlsClientAuth,
}

/// Modes for delivering tokens during a Backchannel Authentication flow.
#[derive(Debug, Deserialize, Clone)]
#[serde(rename_all = "snake_case")]
pub enum BackChannelTokenDeliveryMode {
    /// The Client polls the token endpoint for the token.
    Pull,
    /// The OP sends a ping to the Client when the token is ready.
    Ping,
    /// The OP pushes the token directly to the Client.
    Push,
}