SSO Integration
Configure Single Sign-On (SSO) for your organization to streamline authentication and improve security. Bud Stack supports multiple authentication providers through Keycloak integration.Overview
SSO provides several benefits:- Centralized Authentication: One set of credentials for all applications
- Enhanced Security: Leverage your existing identity provider’s security features
- Simplified User Management: Auto-provision users from your directory
- Improved User Experience: Seamless login across services
- Compliance: Meet enterprise security requirements
SSO configuration requires Admin privileges with SUPER_ADMIN or ADMIN role. Contact support for assistance with setup.
Supported Authentication Providers
Bud Stack supports the following authentication methods through Keycloak:Google OAuth
Microsoft OAuth
LinkedIn OAuth
GitHub OAuth
Coming Soon
- SAML 2.0: Generic SAML integration for enterprise IdPs
- Okta: Direct Okta integration
- Azure AD: Native Azure Active Directory
- Custom OIDC: OpenID Connect providers
How SSO Works in Bud Stack
Authentication Flow
Just-In-Time (JIT) Provisioning
When a user logs in via SSO for the first time:- User Authentication: User authenticates with OAuth provider
- Token Verification: Keycloak verifies the authentication
- User Lookup: System checks if user exists in database
- Auto-Provisioning: If new, system automatically creates user account
- Role Assignment: User type and role derived from Keycloak realm roles
- Permission Setup: Appropriate permissions assigned automatically
- Resource Creation: Default project and billing plan created (for Client users)
JIT provisioning means you don’t need to manually create accounts for SSO users - they’re automatically created on first login.
Setting Up SSO
Prerequisites
Before configuring SSO:- Admin access to your OAuth provider (Google, Microsoft, etc.)
- Ability to create OAuth applications
- Redirect URLs approved by your IT security team
- Understanding of your organization’s identity provider setup
Configuration Steps
- Google OAuth
- Microsoft OAuth
- GitHub OAuth
- LinkedIn OAuth
Google OAuth Setup
1
Create OAuth App in Google Cloud
- Go to Google Cloud Console
- Navigate to APIs & Services > Credentials
- Click Create Credentials > OAuth 2.0 Client ID
- Select Web application
- Add authorized redirect URI:
https://auth.bud.studio/realms/{your-realm}/broker/google/endpoint
2
Get OAuth Credentials
Copy the Client ID and Client Secret provided by Google.
3
Configure in Bud Stack
Contact Bud Stack support with:
- Your OAuth Client ID
- Your OAuth Client Secret
- Your organization domain
- Desired user mapping (Admin vs Client)
4
Test Authentication
- Log out of Bud Stack
- Click “Sign in with Google”
- Authenticate with your Google account
- Verify you’re logged into Bud Stack
hd parameter in Google OAuth to only allow @yourcompany.com emails.User Type Mapping
Configure how SSO users are mapped to Bud Stack user types:Option 1: Domain-Based Mapping
Map users based on email domain:Option 2: Role-Based Mapping
Use Keycloak realm roles to determine user type:Option 3: Group-Based Mapping
Map based on OAuth provider groups (Azure AD, Google Workspace):Security Considerations
Multi-Factor Authentication (MFA)
Session Management
- Session Duration: 8 hours by default
- Refresh Tokens: Automatically refreshed
- Forced Re-authentication: Can be configured
- Logout: Logs out of both Bud Stack and Keycloak
Access Control
- IP Whitelisting: Configure allowed IP ranges in Keycloak
- Device Trust: Leverage provider’s device trust features
- Conditional Access: Use Azure AD conditional access policies
Troubleshooting SSO
Common Issues
Redirect URI Mismatch
Redirect URI Mismatch
Error:
redirect_uri_mismatchSolution:- Verify redirect URI in OAuth provider matches exactly
- Check for http vs https
- Ensure realm name is correct in URL
- No trailing slashes
User Not Provisioned
User Not Provisioned
Error: User authenticates but doesn’t get createdSolution:
- Check JIT provisioning is enabled
- Verify user email is accessible from OAuth provider
- Check realm role mapping configuration
- Review Keycloak logs for errors
Wrong User Type Assigned
Wrong User Type Assigned
Error: User gets Client instead of Admin (or vice versa)Solution:
- Review domain/role/group mapping configuration
- Check user’s realm roles in Keycloak
- Verify OAuth provider returns correct group information
- User may need to log out and back in after role change
Permission Errors After Login
Permission Errors After Login
Error: User logs in but can’t access expected featuresSolution:
- Verify user type and role in User Management
- Check permission assignment for that role
- User should log out and log back in
- Refer to Roles & Permissions
Getting Help
For SSO setup assistance:- Check Configuration: Review OAuth app settings
- Test OAuth Flow: Use provider’s OAuth testing tools
- Review Logs: Check Keycloak logs for errors
- Contact Support: Email support@bud.studio with:
- OAuth provider being used
- Error messages or screenshots
- Organization details
- Current configuration (without secrets)
Best Practices
Enable MFA
Restrict Domains
Regular Audits
Test Thoroughly
Document Process
Monitor Activity
Enterprise Features
SAML 2.0 (Coming Soon)
For organizations with custom identity providers:- Generic SAML 2.0 support
- Works with Okta, OneLogin, Auth0, etc.
- Attribute mapping configuration
- SP-initiated and IdP-initiated flows
Advanced Provisioning (Coming Soon)
- SCIM Protocol: Automated user sync from your directory
- Deprovisioning: Automatic account deactivation when users leave
- Attribute Sync: Keep user profiles updated automatically
- Group Sync: Automatic permission assignment based on groups
Related Pages
- Inviting Users - Manual user invitation
- Roles & Permissions - Understanding permissions
- User Activity - Monitor SSO logins
- Security Best Practices - Secure your organization
API Reference
Get User SSO Info
Check SSO Configuration
Summary
SSO integration provides:- Seamless Authentication: One-click login with existing credentials
- Auto-Provisioning: New users created automatically (JIT)
- Enhanced Security: Leverage enterprise identity provider features
- Centralized Management: Manage access from your identity provider
- Better User Experience: No need to remember multiple passwords