Google OIDC Setup
Configure Boltbase with Google as OIDC provider.
Prerequisites
- Google Cloud account or Google Workspace
- Access to Google Cloud Console
Setup Steps
1. Create OAuth 2.0 Client ID
- Go to Google Cloud Console
- Select or create a project
- Navigate to "APIs & Services" > "Credentials"
- Click "Create Credentials" > "OAuth client ID"
- Configure OAuth consent screen if prompted:
- User Type: Internal (for Google Workspace) or External
- Add required scopes: email, profile, openid
- Application type: "Web application"
- Add authorized redirect URI:For production:
http://localhost:8080/oidc-callbackhttps://boltbase.example.com/oidc-callback - Save and copy the Client ID and Client Secret
2. Configure Boltbase
YAML Configuration
yaml
# ~/.config/boltbase/config.yaml
auth:
oidc:
client_id: "123456789012-abcdefghijklmnopqrstuvwxyz012345.apps.googleusercontent.com"
client_secret: "GOCSPX-1234567890abcdefghijklmno"
client_url: "http://localhost:8080"
issuer: "https://accounts.google.com"
scopes:
- "openid"
- "profile"
- "email"Environment Variables
bash
export BOLTBASE_AUTH_OIDC_CLIENT_ID="123456789012-abcdefghijklmnopqrstuvwxyz012345.apps.googleusercontent.com"
export BOLTBASE_AUTH_OIDC_CLIENT_SECRET="GOCSPX-1234567890abcdefghijklmno"
export BOLTBASE_AUTH_OIDC_CLIENT_URL="http://localhost:8080"
export BOLTBASE_AUTH_OIDC_ISSUER="https://accounts.google.com"
export BOLTBASE_AUTH_OIDC_SCOPES="openid,profile,email"
boltbase start-allGoogle Workspace Setup
Domain-Wide Access
For Google Workspace domains:
yaml
auth:
oidc:
client_id: "your-client-id"
client_secret: "your-secret"
client_url: "https://boltbase.company.com"
issuer: "https://accounts.google.com"Specific User Access
yaml
auth:
oidc:
# ... google config ...
whitelist:
- "admin@company.com"
- "devops-team@company.com"
- "ci-bot@company.com"Production Configuration
yaml
# Production with HTTPS
auth:
oidc:
client_id: "your-production-client-id"
client_secret: "your-production-secret"
client_url: "https://boltbase.example.com"
issuer: "https://accounts.google.com"
# Also enable TLS
tls:
cert_file: "/etc/ssl/boltbase.crt"
key_file: "/etc/ssl/boltbase.key"Testing
Start Boltbase:
bashboltbase start-allOpen browser to http://localhost:8080
You should be redirected to Google login
After login, redirected back to Boltbase
Check browser developer tools for cookie named
oidc-token
Notes
- Google client IDs look like:
[numeric]-[random].apps.googleusercontent.com - Client secrets start with
GOCSPX-for newer applications - Google supports wildcard redirect URIs for localhost development
- Session duration is 24 hours
- Google issuer is always
https://accounts.google.com
