Introduction
AuthStack is a usage-based authentication platform designed to provide secure, scalable authentication without subscription fees.
What is AuthStack?
Section titled “What is AuthStack?”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
Supported OAuth Providers
Section titled “Supported OAuth Providers”| Provider | Authentication Method |
|---|---|
| ID Token validation | |
| GitHub | OAuth code exchange |
| Microsoft | Azure AD / Personal accounts |
| Apple | Sign in with Apple |
| Discord | OAuth2 code exchange |
Why AuthStack?
Section titled “Why AuthStack?”Usage-Based Pricing
Section titled “Usage-Based Pricing”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
Centralized OAuth Configuration
Section titled “Centralized OAuth Configuration”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
Security First
Section titled “Security First”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
Official SDKs
Section titled “Official SDKs”| Platform | Package | Features |
|---|---|---|
| Flutter | voo_authstack_client | Full SDK with auto-refresh, provider credentials |
| .NET | AuthStack.Client | Full SDK with JWKS token validation |
For other platforms, use the REST API directly.
Quick Example
Section titled “Quick Example”Flutter
Section titled “Flutter”import 'package:voo_authstack_client/voo_authstack_client.dart';
// Initializefinal authService = VooAuthstackService( config: VooAuthstackConfig( baseUrl: 'https://api.authstack.voostack.com', ),);await authService.initialize();
// Login with emailfinal 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 APIfinal credentials = await authService.getProviderCredentials(OAuthProvider.github);// Use credentials.accessToken with GitHub APIusing AuthStack.Client;
// Initializevar client = new AuthStackClient(new AuthStackConfig{ BaseUrl = "https://api.authstack.voostack.com"});await client.InitializeAsync();
// Login with emailvar result = await client.LoginAsync("user@example.com", "password123");
// Or use centralized OAuthvar authUrl = await client.GetProviderAuthUrlAsync( OAuthProvider.GitHub, "https://yourapp.com/callback");// Redirect user to authUrl.AuthorizationUrl
// Get provider credentials to call GitHub APIvar credentials = await client.GetProviderCredentialsAsync(OAuthProvider.GitHub);// Use credentials.AccessToken with GitHub APINext Steps
Section titled “Next Steps”- Quick Start - Get up and running in minutes
- Installation - Install the SDK for your platform
- Concepts - Understand the core concepts