Crate mssql_auth

Crate mssql_auth 

Source
Expand description

§mssql-auth

Authentication strategies for SQL Server connections.

This crate provides various authentication methods, isolated from connection logic for better modularity and testing.

§Supported Authentication Methods

MethodFeature FlagDescription
SQL AuthenticationdefaultUsername/password
Azure AD TokendefaultPre-obtained access token
Azure Managed Identityazure-identityVM/container identity
Service Principalazure-identityApp credentials
Integrated (Kerberos)integrated-authGSSAPI/Kerberos
Certificatecert-authClient certificate

§Authentication Tiers

Per ARCHITECTURE.md, authentication is tiered:

§Tier 1 (Core - Pure Rust, Default)

§Tier 2 (Azure Native - azure-identity feature)

  • Managed Identity (Azure VM/Container)
  • Service Principal (Client ID + Secret)

§Tier 3 (Enterprise/Legacy - integrated-auth feature)

  • Kerberos (Linux/macOS via GSSAPI)
  • NTLM/Kerberos (Windows via SSPI)

§Secure Credential Handling

Enable the zeroize feature for secure credential handling:

mssql-auth = { version = "0.1", features = ["zeroize"] }

This enables secure credential handling that automatically zeroes sensitive data from memory when dropped.

§Example

use mssql_auth::{SqlServerAuth, AzureAdAuth, AuthProvider};

// SQL Server authentication
let sql_auth = SqlServerAuth::new("sa", "Password123!");
let auth_data = sql_auth.authenticate().unwrap();

// Azure AD authentication with pre-acquired token
let azure_auth = AzureAdAuth::with_token("eyJ0eXAi...");

Re-exports§

pub use credentials::Credentials;
pub use error::AuthError;
pub use provider::AsyncAuthProvider;
pub use provider::AuthData;
pub use provider::AuthMethod;
pub use provider::AuthProvider;
pub use azure_ad::AzureAdAuth;
pub use azure_ad::FedAuthLibrary;
pub use sql_auth::SqlServerAuth;
pub use sql_auth::SqlAuthenticator;Deprecated

Modules§

azure_ad
Azure AD / Entra ID authentication implementation.
credentials
Credential types for authentication.
error
Authentication error types.
provider
Authentication provider traits.
sql_auth
SQL Server authentication implementation.