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
Sign in with Google Workspace accounts
Microsoft OAuth
Sign in with Microsoft 365 / Azure AD accounts
LinkedIn OAuth
Sign in with LinkedIn accounts
GitHub OAuth
Sign in with GitHub accounts
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
Require multi-factor authentication in your identity provider for all users.
Restrict Domains
Limit SSO to your organization’s email domains to prevent unauthorized access.
Regular Audits
Review SSO user access quarterly and remove inactive users.
Test Thoroughly
Test SSO with different user types before rolling out organization-wide.
Document Process
Maintain documentation of your SSO configuration for your team.
Monitor Activity
Track SSO logins in audit logs to detect anomalies.
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