Skip to content

Introduction

AuthStack is a usage-based authentication platform designed to provide secure, scalable authentication without subscription fees.

AuthStack provides:

  • Social Login Providers - Google, GitHub, Microsoft, Apple, and Discord
  • OAuth 2.0 & OpenID Connect - Industry-standard authentication protocols
  • JWT Tokens - Secure access and refresh tokens
  • Usage-Based Pricing - Pay only for active users, 1,000 MAU free
  • Audit Trail - Track user activity across applications
  • Per-App Provider Control - Configure which providers each application can use
  • Centralized OAuth - AuthStack handles OAuth app configuration, no credentials needed
  • Provider Credentials - Access provider tokens (GitHub, Google, etc.) for API calls
ProviderAuthentication Method
GoogleID Token validation
GitHubOAuth code exchange
MicrosoftAzure AD / Personal accounts
AppleSign in with Apple
DiscordOAuth2 code exchange

No subscriptions, no tiers, no hidden fees. Pay only for what you use:

  • 1,000 MAU free every month
  • $0.005 per MAU above free tier
  • 10,000 API calls free, then $0.10 per 1,000

Configure OAuth credentials globally once, then enable specific providers per-application. This gives you:

  • Centralized credential management
  • Granular control over which apps use which providers
  • Easy onboarding for new applications
  • No OAuth credentials needed in your app - AuthStack handles it

Built with security best practices:

  • Password hashing with bcrypt
  • JWT with configurable expiration
  • Rate limiting and brute force protection
  • Secure token storage
  • Encrypted OAuth credentials at rest
PlatformPackageFeatures
Fluttervoo_authstack_clientFull SDK with auto-refresh, provider credentials
.NETAuthStack.ClientFull SDK with JWKS token validation

For other platforms, use the REST API directly.

import 'package:voo_authstack_client/voo_authstack_client.dart';
// Initialize
final authService = VooAuthstackService(
config: VooAuthstackConfig(
baseUrl: 'https://api.authstack.voostack.com',
),
);
await authService.initialize();
// Login with email
final result = await authService.loginWithEmail(
email: 'user@example.com',
password: 'password123',
);
// Or use centralized OAuth - no credentials needed!
final authUrl = await authService.getProviderAuthUrl(
provider: OAuthProvider.github,
redirectUri: 'https://yourapp.com/callback',
);
// Redirect user to authUrl.authorizationUrl
// Get provider credentials to call GitHub API
final credentials = await authService.getProviderCredentials(OAuthProvider.github);
// Use credentials.accessToken with GitHub API
using AuthStack.Client;
// Initialize
var client = new AuthStackClient(new AuthStackConfig
{
BaseUrl = "https://api.authstack.voostack.com"
});
await client.InitializeAsync();
// Login with email
var result = await client.LoginAsync("user@example.com", "password123");
// Or use centralized OAuth
var authUrl = await client.GetProviderAuthUrlAsync(
OAuthProvider.GitHub,
"https://yourapp.com/callback"
);
// Redirect user to authUrl.AuthorizationUrl
// Get provider credentials to call GitHub API
var credentials = await client.GetProviderCredentialsAsync(OAuthProvider.GitHub);
// Use credentials.AccessToken with GitHub API