junobuild_auth/openid/
types.rs1pub mod provider {
2 use crate::openid::jwt::types::cert::Jwks;
3 use candid::{CandidType, Deserialize};
4 use junobuild_shared::types::state::{Timestamp, Version};
5 use serde::Serialize;
6
7 #[derive(
8 CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
9 )]
10 pub enum OpenIdProvider {
11 Google,
12 GitHubAuth, GitHubActions,
14 }
15
16 #[derive(
17 CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
18 )]
19 pub enum OpenIdDelegationProvider {
20 Google,
21 GitHub,
22 }
23
24 #[derive(
25 CandidType, Serialize, Deserialize, Clone, Hash, PartialEq, Eq, PartialOrd, Ord, Debug,
26 )]
27 pub enum OpenIdAutomationProvider {
28 GitHub,
29 }
30
31 #[derive(CandidType, Serialize, Deserialize, Clone)]
32 pub struct OpenIdCertificate {
33 pub jwks: Jwks,
34
35 pub created_at: Timestamp,
36 pub updated_at: Timestamp,
37
38 pub version: Option<Version>,
39 }
40}