Setting Up Enhanced Branding
This tutorial will guide you through setting up enhanced branding features in Skycloak, from basic customization to advanced theme uploads.
Prerequisites
- Active Skycloak workspace
- Running Keycloak cluster
- Admin or owner role in workspace
- Business+ plan for custom theme uploads
Step 1: Access Branding Settings
-
Navigate to Your Cluster
- Log in to Skycloak dashboard
- Select your workspace
- Click on your cluster name
-
Open Branding Tab
- Click the “Branding” tab
- You’ll see the current branding configuration
Step 2: Basic Visual Customization
Company Information
-
Add Company Details
Company Name: Your Company Inc.This appears in the login page header
-
Upload Logo
- Click “Upload Logo” or provide URL
- Recommended: 200x50px PNG with transparent background
- Maximum file size: 500KB
-
Set Favicon
- Upload 32x32px icon
- Appears in browser tabs
Color Scheme
-
Primary Color
- Click color picker or enter hex code
- Example:
#1976d2 - Used for buttons and links
-
Background Color
- Default:
#f5f5f5 - Light colors recommended for readability
- Default:
Text Customization
-
Page Title
Welcome to Your CompanyMain heading on login page
-
Subtitle
Sign in to access your accountSupporting text below title
Step 3: Configure Links (Pro+ Plans)
-
Terms of Service URL
https://yourcompany.com/terms -
Privacy Policy URL
https://yourcompany.com/privacy
These appear as footer links on all auth pages.
Step 4: Login Options
Configure authentication behavior:
-
Enable User Registration
- Toggle ON to allow self-registration
- Toggle OFF for invite-only access
-
Enable Password Reset
- Toggle ON to show “Forgot Password?” link
- Toggle OFF to disable self-service reset
-
Show Remember Me
- Toggle ON to display checkbox
- Toggle OFF for higher security
Step 5: Preview Your Changes
Use the multi-page preview feature:
-
Select Page Type
- Login
- Registration
- Password Reset
- OTP Configuration
- OTP Login
- Update Password
-
Review Each Page
- Check visual consistency
- Verify text is readable
- Test on different screen sizes
-
Test Interactions
- Click links to verify they work
- Check form validation messages
- Ensure all elements are visible
Step 6: Apply Changes
-
Save Configuration
- Click “Apply Branding”
- Confirm the update
-
Monitor Progress
- Status shows “Updating…”
- Wait 2-5 minutes for completion
- Page will show “Active” when done
-
Verify Live Changes
- Open your Keycloak URL
- Navigate to
/realms/{realm}/account - Confirm branding is applied
Step 7: Custom Theme Upload (Business+)
Prepare Your Theme
-
Create Theme Structure
my-theme/ ├── login/ │ ├── resources/ │ │ ├── css/ │ │ │ └── login.css │ │ ├── img/ │ │ │ ├── logo.png │ │ │ └── favicon.ico │ │ └── js/ │ │ └── custom.js │ ├── messages/ │ │ └── messages_en.properties │ ├── login.ftl │ ├── register.ftl │ └── theme.properties └── theme.properties -
Theme Configuration
# theme.properties parent=keycloak import=common/keycloak styles=css/login.css scripts=js/custom.js -
Package Theme
zip -r my-custom-theme.zip my-theme/
Upload Theme
-
Navigate to Custom Themes
- Go to Workspace Settings
- Click “Custom Themes” tab
-
Upload Theme Package
- Click “Upload Custom Theme”
- Select your ZIP file
- Enter theme name
- Click “Upload”
-
Validate Upload
- System validates theme structure
- Check for any errors
- Theme appears in list when successful
Apply Custom Theme
-
Return to Cluster Branding
- Navigate back to your cluster
- Open Branding tab
-
Select Custom Theme
- Click “Use Custom Theme”
- Select from uploaded themes
- Preview the theme
-
Apply Theme
- Click “Apply Custom Theme”
- Monitor update progress
- Verify when complete
Step 8: Remove Powered By Badge (Launch+)
For Launch and Enterprise plans:
-
Toggle Setting
- Find “Show Powered by Skycloak”
- Toggle OFF
-
Apply Changes
- Save configuration
- Badge removed from all pages
Troubleshooting
Theme Not Updating
Problem: Changes don’t appear after applying
Solutions:
- Wait full 5 minutes for propagation
- Clear browser cache
- Check cluster status is “Available”
- Try in incognito/private browsing
Custom Theme Errors
Problem: Theme upload fails
Solutions:
- Verify ZIP structure matches requirements
- Check file size under 50MB
- Ensure login/ directory exists
- Validate FTL template syntax
Preview Not Loading
Problem: Preview shows error or blank
Solutions:
- Check all URLs use HTTPS
- Verify color codes are valid hex
- Ensure logos are accessible
- Refresh the page
Colors Not Applying
Problem: Colors remain default
Solutions:
- Use full hex codes (#RRGGBB)
- Avoid CSS color names
- Check for typos in values
- Test with standard colors first
Best Practices
Design Guidelines
-
Accessibility
- Maintain WCAG AA contrast ratios
- Test with color blindness simulators
- Ensure text remains readable
-
Performance
- Optimize images before upload
- Use web-friendly formats (PNG, SVG)
- Keep custom CSS minimal
-
Consistency
- Match your main website branding
- Use same fonts and colors
- Maintain visual hierarchy
Testing Checklist
Before going live:
- Test on mobile devices
- Verify all links work
- Check form validation
- Test error states
- Verify email templates
- Test with real users
- Document customizations
Security Considerations
-
URLs and Assets
- Use HTTPS for all resources
- Host assets on secure CDN
- Validate all external resources
-
Custom Themes
- Avoid inline JavaScript
- Sanitize user inputs
- Follow Keycloak security guidelines
Advanced Configurations
Multi-Realm Branding
Apply different branding per realm:
-
Create Realm-Specific Config
- Each realm can have unique branding
- Useful for multi-tenant scenarios
-
Manage Through API
PUT /api/clusters/{clusterId}/realms/{realmId}/branding
A/B Testing Themes
Test different branding variations:
-
Upload Multiple Themes
- Create variations of your theme
- Upload each as separate package
-
Switch Between Themes
- Apply different themes to test
- Monitor user engagement
- Choose best performing option