SSO Configuration
TwinEdge Enterprise supports Single Sign-On (SSO) for seamless authentication integration with your identity provider.
SSO is available exclusively on Enterprise plans.
Supported Identity Providers
| Provider | Protocol | Status |
|---|---|---|
| Okta | SAML 2.0, OIDC | Supported |
| Azure AD | SAML 2.0, OIDC | Supported |
| Google Workspace | SAML 2.0, OIDC | Supported |
| OneLogin | SAML 2.0 | Supported |
| Auth0 | OIDC | Supported |
| Custom SAML | SAML 2.0 | Supported |
| Custom OIDC | OpenID Connect | Supported |
Configuration Overview
General Setup Flow
- Create SSO application in your IdP
- Configure TwinEdge SSO settings
- Test SSO login
- Enable for all users
Okta Configuration
Step 1: Create Okta Application
- Log in to Okta Admin Console
- Go to Applications → Applications
- Click Create App Integration
- Select:
- Sign-in method: OIDC - OpenID Connect
- Application type: Web Application
- Configure:
- Name: TwinEdge
- Sign-in redirect URI:
https://app.twinedgeai.com/auth/callback/okta - Sign-out redirect URI:
https://app.twinedgeai.com/auth/logout
- Click Save
Step 2: Note Okta Credentials
From the application settings, copy:
- Client ID
- Client Secret
- Okta domain (e.g.,
yourcompany.okta.com)
Step 3: Configure TwinEdge
- Go to Settings → SSO
- Click Configure Okta
- Enter:
Okta Domain: yourcompany.okta.com
Client ID: 0oa1234567890abcdef
Client Secret: ******** - Click Save & Test
Step 4: User Provisioning (Optional)
Enable SCIM for automatic user provisioning:
- In Okta, go to Provisioning
- Enable SCIM provisioning
- Configure:
- SCIM connector URL:
https://api.twinedgeai.com/scim/v2 - Authentication: Bearer token
- SCIM connector URL:
- Enable:
- Create Users
- Update User Attributes
- Deactivate Users
Azure AD Configuration
Step 1: Register Application
- Go to Azure Portal → Azure Active Directory
- Select App registrations → New registration
- Configure:
- Name: TwinEdge
- Redirect URI: Web -
https://app.twinedgeai.com/auth/callback/azure
- Click Register
Step 2: Configure Authentication
- Go to Authentication
- Add redirect URI:
https://app.twinedgeai.com/auth/callback/azure - Enable ID tokens under Implicit grant
Step 3: Create Client Secret
- Go to Certificates & secrets
- Click New client secret
- Add description and expiration
- Copy the secret value immediately
Step 4: Configure TwinEdge
- Go to Settings → SSO
- Click Configure Azure AD
- Enter:
Tenant ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Client ID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
Client Secret: ******** - Click Save & Test
Step 5: Assign Users
- In Azure Portal, go to Enterprise applications
- Find TwinEdge
- Go to Users and groups
- Assign users or groups
Google Workspace Configuration
Step 1: Create OAuth Credentials
- Go to Google Cloud Console
- Select or create a project
- Go to APIs & Services → Credentials
- Click Create Credentials → OAuth client ID
- Configure:
- Application type: Web application
- Name: TwinEdge
- Authorized redirect URIs:
https://app.twinedgeai.com/auth/callback/google
- Click Create
Step 2: Configure OAuth Consent Screen
- Go to OAuth consent screen
- Configure:
- User type: Internal (recommended) or External
- App name: TwinEdge
- User support email: Your email
- Scopes:
email,profile,openid
- Save
Step 3: Configure TwinEdge
- Go to Settings → SSO
- Click Configure Google
- Enter:
Client ID: xxxx.apps.googleusercontent.com
Client Secret: ********
Hosted Domain: yourcompany.com (optional) - Click Save & Test
Custom SAML Configuration
TwinEdge SAML Settings
Configure your IdP with these TwinEdge SAML endpoints:
| Setting | Value |
|---|---|
| ACS URL | https://app.twinedgeai.com/auth/saml/acs |
| Entity ID | https://app.twinedgeai.com/saml/metadata |
| Sign-out URL | https://app.twinedgeai.com/auth/saml/logout |
| NameID Format | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
Required Attributes
Your IdP must provide these attributes:
| Attribute | Description | Required |
|---|---|---|
email | User's email address | Yes |
firstName | First name | Recommended |
lastName | Last name | Recommended |
groups | Group memberships | Optional |
Configure in TwinEdge
- Go to Settings → SSO → Custom SAML
- Upload your IdP metadata XML or enter:
- IdP SSO URL
- IdP Entity ID
- IdP Certificate
- Map attributes
- Click Save & Test
Custom OIDC Configuration
Configure OIDC Provider
- Go to Settings → SSO → Custom OIDC
- Enter:
Issuer URL: https://your-idp.com
Client ID: your-client-id
Client Secret: ********
Authorization Endpoint: https://your-idp.com/authorize
Token Endpoint: https://your-idp.com/token
UserInfo Endpoint: https://your-idp.com/userinfo - Configure scopes:
openid email profile - Click Save & Test
User Management with SSO
Just-In-Time Provisioning
New users are automatically created on first login:
jit_provisioning:
enabled: true
default_role: viewer
auto_assign_groups: true
Role Mapping
Map IdP groups to TwinEdge roles:
| IdP Group | TwinEdge Role |
|---|---|
twinedge-admins | Admin |
twinedge-operators | Operator |
twinedge-viewers | Viewer |
Configure in Settings → SSO → Role Mapping
Attribute Mapping
Map IdP attributes to TwinEdge user fields:
attribute_mapping:
email: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress"
first_name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givenname"
last_name: "http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname"
groups: "http://schemas.microsoft.com/ws/2008/06/identity/claims/groups"
Security Settings
Enforce SSO
Require all users to sign in via SSO:
- Go to Settings → SSO → Security
- Enable Enforce SSO
- Optionally allow backup admin access
Ensure SSO is working before enabling enforcement!
Session Management
Configure session duration:
- Session timeout: 8 hours (default)
- Idle timeout: 1 hour (default)
- Remember me: Optional, up to 30 days
Multi-Factor Authentication
SSO MFA is handled by your IdP. Ensure MFA is configured in:
- Okta: Security → Authentication
- Azure AD: Conditional Access
- Google: Security → 2-Step Verification
Troubleshooting
Common Issues
"User not assigned to application"
- Assign user in IdP
- Check group assignments
"Invalid redirect URI"
- Verify redirect URI matches exactly
- Check for trailing slashes
"Certificate expired"
- Update IdP certificate in TwinEdge
- Regenerate SAML metadata
"Attribute mapping failed"
- Check attribute names
- Verify claims are being sent
Debug Mode
Enable SSO debug logging:
- Go to Settings → SSO → Debug
- Enable Debug Mode
- Reproduce the issue
- View logs in Debug Log
SAML Trace
Use browser extensions to trace SAML:
- SAML-tracer (Firefox)
- SAML DevTools (Chrome)
Support
For SSO configuration assistance:
- Email: enterprise-support@twinedgeai.com
- Include: IdP type, error messages, debug logs
Next Steps
- RBAC & Permissions - Configure role-based access
- Audit Logging - Track SSO events
- White-Labeling - Customize login page