Noundry.AuthnzNet.CLI
1.9.0
dotnet tool install --global Noundry.AuthnzNet.CLI --version 1.9.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local Noundry.AuthnzNet.CLI --version 1.9.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=Noundry.AuthnzNet.CLI&version=1.9.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package Noundry.AuthnzNet.CLI --version 1.9.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AuthnzNet
Local OAuth 2.0 / OpenID Connect server for development.
Stop wasting time setting up IdentityServer or waiting for cloud IdP trial approvals. Get OAuth working in your app in under 60 seconds.
Quick Start
# Install the CLI
dotnet tool install -g Noundry.AuthnzNet.CLI
# Create everything you need in one command
ndaz quickstart
# Start the server
ndaz serve
That's it. Your app now has OAuth.
What You Get
After ndaz quickstart:
OAuth Configuration
┌───────────────┬─────────────────────────────────────────────┐
│ Authority │ https://localhost:5000 │
│ Client ID │ client_4d47e486494d4ab68 │
│ Client Secret │ 1IHI0Wvw1cQQuEJAnsNciWR1mTSfxWJY │
│ Login URL │ https://localhost:5000/login/local-dev-4f31 │
└───────────────┴─────────────────────────────────────────────┘
Test User
┌──────────┬───────────────┐
│ Email │ dev@localhost │
│ Password │ Password123! │
└──────────┴───────────────┘
Configure Your App
ASP.NET Core
builder.Services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
options.DefaultChallengeScheme = "oidc";
})
.AddCookie("Cookies")
.AddOpenIdConnect("oidc", options =>
{
options.Authority = "https://localhost:5000";
options.ClientId = "YOUR_CLIENT_ID";
options.ClientSecret = "YOUR_CLIENT_SECRET";
options.ResponseType = "code";
options.SaveTokens = true;
options.Scope.Add("openid");
options.Scope.Add("profile");
options.Scope.Add("email");
});
React / SPA (PKCE)
const config = {
authority: "https://localhost:5000",
client_id: "YOUR_CLIENT_ID",
redirect_uri: "http://localhost:3000/callback",
response_type: "code",
scope: "openid profile email",
};
appsettings.json
{
"Authentication": {
"Authority": "https://localhost:5000",
"ClientId": "YOUR_CLIENT_ID",
"ClientSecret": "YOUR_CLIENT_SECRET"
}
}
OAuth Endpoints
| Endpoint | URL |
|---|---|
| OIDC Discovery | /.well-known/openid-configuration |
| Authorize | /oauth/authorize |
| Token | /oauth/token |
| UserInfo | /api/profile |
| JWKS | /.well-known/jwks.json |
Supported Flows
- Authorization Code (with PKCE)
- Client Credentials
- Refresh Token
- Resource Owner Password
CLI Commands
ndaz quickstart # Create tenant + client + user
ndaz serve # Start server
ndaz serve --port 8080 # Custom port
ndaz tenant register <email> <name> # New tenant
ndaz client create <tenant-id> # New OAuth client
ndaz user create <tenant-id> <email> <password> # New user
Dashboard
Visit https://localhost:5000/dashboard to manage tenants, users, and clients.
Switching to Production
When ready for production, change one line:
// Development
options.Authority = "https://localhost:5000";
// Production
options.Authority = "https://login.microsoftonline.com/..."; // Azure AD
// or
options.Authority = "https://your-tenant.auth0.com"; // Auth0
// or
options.Authority = "https://accounts.google.com"; // Google
No other code changes needed.
Why AuthnzNet?
| Problem | AuthnzNet Solution |
|---|---|
| "I need to test OAuth but don't want to set up IdentityServer" | ndaz quickstart && ndaz serve |
| "I'm offline and can't reach my cloud IdP" | Works 100% locally |
| "I don't want to register apps with Google/Microsoft for dev" | No external accounts needed |
| "I need to test multiple users/tenants" | Multi-tenant built-in |
| "My team needs a shared test IdP" | Deploy the same server anywhere |
Project Structure
AuthnzNet/
├── src/
│ ├── AuthnzNet.Core/ # Shared models & interfaces
│ ├── AuthnzNet.Cli/ # CLI tool (ndaz)
│ └── AuthnzNet.Server/ # OAuth server (single process, SQLite)
├── tests/
│ ├── AuthnzNet.Core.Tests/
│ └── AuthnzNet.Cli.Tests/
└── cloud/ # (Future cloud service code)
Requirements
- .NET 9.0 SDK or .NET 10.0 SDK
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.9.0 | 0 | 3/4/2026 |