Transiever.SaslClient is a focused .NET 10 library for protocol-independent
SASL client mechanisms.
It produces and verifies SASL messages and proofs for a host protocol client;
it does not open connections or manage credentials.
dotnet add package Transiever.SaslClientThe package supports PLAIN, SCRAM-SHA-256, SCRAM-SHA-256-PLUS, OAUTHBEARER, and certificate-backed EXTERNAL. Production code uses only .NET runtime libraries.
The host supplies decoded challenge bytes; the mechanism owns returned response buffers until completion or abort.
It applies its protocol's framing and Base64 encoding.
The host must establish trustworthy protected transport and certificate
evidence before invoking a mechanism.
For SCRAM-SHA-256-PLUS, it supplies attempt-owned
tls-server-end-point binding bytes immediately before the exchange.
This library does not acquire, refresh, store, or revoke OAuth tokens; manage certificates; select mechanisms; or implement a network protocol.
Start here, then follow the focused guides:
- library guide for public API and package usage.
- authentication for mechanism lifecycle, security, memory ownership, and failures.
- architecture for the host boundary and responsibility split.
- testing for deterministic offline test policy.
dotnet restore Transiever.SaslClient.slnx
dotnet build Transiever.SaslClient.slnx --configuration Release --no-restore
dotnet test Transiever.SaslClient.slnx --configuration Release --no-build
dotnet pack src/Transiever.SaslClient/Transiever.SaslClient.csproj --configuration Release --no-buildStable releases come from main; beta prereleases come from dev.
GitHub Actions publish the library package to NuGet.org using trusted
publishing.
Transiever is a personal hobby project created to solve practical problems I have encountered myself.
AI is used heavily throughout its development. It supports research, design exploration, implementation, debugging, and documentation.
The project is developed using test-driven development and reviewed by a human, me. Its direction, behavior, and quality remain guided by the problems it is intended to solve.