authx-core 0.1.2

Core authentication primitives for authx-rs: crypto, JWT/EdDSA, RBAC/ABAC, events, and models
Documentation
use serde::{Deserialize, Serialize};
use uuid::Uuid;

#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "snake_case")]
pub enum CredentialKind {
    Password,
    Passkey,
    Webauthn,
    OauthToken,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct Credential {
    pub id: Uuid,
    pub user_id: Uuid,
    pub kind: CredentialKind,
    pub credential_hash: String,
    pub metadata: serde_json::Value,
}

#[derive(Debug, Clone)]
pub struct CreateCredential {
    pub user_id: Uuid,
    pub kind: CredentialKind,
    pub credential_hash: String,
    pub metadata: Option<serde_json::Value>,
}