junobuild-auth 0.4.1

Authentication toolkit for Juno.
Documentation
pub mod provider {
    use crate::openid::jwt::types::cert::Jwks;
    use candid::{CandidType, Deserialize};
    use junobuild_shared::types::state::{Timestamp, Version};
    use serde::Serialize;

    #[derive(
        CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
    )]
    pub enum OpenIdProvider {
        Google,
        GitHubAuth, // GitHub user authentication (OAuth) via Juno API proxy
        GitHubActions,
    }

    #[derive(
        CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
    )]
    pub enum OpenIdDelegationProvider {
        Google,
        GitHub,
    }

    #[derive(
        CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
    )]
    pub enum OpenIdAutomationProvider {
        GitHub,
    }

    #[derive(CandidType, Serialize, Deserialize, Clone)]
    pub struct OpenIdCertificate {
        pub jwks: Jwks,

        pub created_at: Timestamp,
        pub updated_at: Timestamp,

        pub version: Option<Version>,
    }
}