SAML SSO
Configure single sign-on with your identity provider.
SAML SSO requires a Business plan or higher.
What is SAML SSO?
SAML (Security Assertion Markup Language) enables:
- Single sign-on across applications
- Centralized user management
- Enhanced security
- Simplified user experience
Supported Identity Providers
Penvio works with any SAML 2.0 IdP:
- Okta
- Azure AD (Microsoft Entra ID)
- OneLogin
- Google Workspace
- Ping Identity
- JumpCloud
- And others
Configuration
Step 1: Get Penvio SAML Details
- Go to Organization → Security → SAML SSO
- Note the following values:
- Entity ID:
https://penvio.io/saml/{org-id} - ACS URL:
https://penvio.io/api/auth/saml/callback - Logout URL:
https://penvio.io/api/auth/saml/logout
- Entity ID:
Step 2: Configure Your IdP
In your identity provider:
- Create a new SAML application
- Enter Penvio’s Entity ID
- Enter Penvio’s ACS URL
- Configure attribute mapping (see below)
- Save and get IdP metadata
Step 3: Enter IdP Details in Penvio
- Return to Penvio SAML settings
- Upload IdP metadata XML
- Or enter manually:
- IdP Entity ID
- SSO URL
- Certificate
- Click Save
Step 4: Test Connection
- Click Test Connection
- Sign in with your IdP
- Verify successful authentication
Step 5: Enable SSO
- Choose enforcement mode:
- Optional: Users can use SSO or email/password
- Required: All users must use SSO
- Click Enable
Attribute Mapping
Map IdP attributes to Penvio fields:
| Penvio Field | Common IdP Attributes |
|---|---|
| email, mail, nameID | |
| First Name | firstName, givenName |
| Last Name | lastName, surname, sn |
| Display Name | displayName, name |
Just-in-Time Provisioning
New users can be created automatically:
- Enable JIT Provisioning
- Set default role for new users
- Users are created on first SSO login
Managing SSO Users
SSO-Only Users
When SSO is required:
- Users can only sign in via SSO
- No password reset option
- Account managed by IdP
Mixed Authentication
When SSO is optional:
- Users choose sign-in method
- Can link SSO to existing account
- Password remains as backup
Troubleshooting
Login Failed
- Verify IdP configuration
- Check certificate expiration
- Confirm attribute mapping
- Review IdP logs
User Not Created
- Ensure JIT provisioning is enabled
- Check required attributes are sent
- Verify email format
Certificate Errors
- Upload correct certificate
- Check certificate hasn’t expired
- Ensure PEM format
Okta Setup Guide
This section provides step-by-step instructions for configuring SAML SSO with Okta.
Step 1: Get Penvio SP Configuration
- In Penvio, go to Organization → Security → SAML SSO
- Copy these values (you’ll need them in Okta):
- SP Metadata URL
- ACS URL (Assertion Consumer Service)
Step 2: Create SAML App in Okta
- Log in to the Okta Admin Console
- Navigate to Applications → Applications
- Click Create App Integration
- Select SAML 2.0 and click Next
- Enter app details:
- App name:
Penvio - App logo: Optional
- App name:
- Click Next
Step 3: Configure SAML Settings
Enter these values in Okta’s SAML settings:
| Field | Value |
|---|---|
| Single sign-on URL | Your ACS URL from Penvio |
| Audience URI (SP Entity ID) | Your SP Metadata URL from Penvio |
| Name ID format | EmailAddress |
| Application username | Email |
Step 4: Configure Attribute Statements
Add the following attribute statements in Okta:
| Name | Name format | Value |
|---|---|---|
email | Unspecified | user.email |
firstName | Unspecified | user.firstName |
lastName | Unspecified | user.lastName |
groups | Unspecified | appuser.groups (optional) |
Click Next, complete the feedback form, then click Finish.
Step 5: Download Okta Metadata
- In your new Penvio app, go to the Sign On tab
- Scroll to SAML Signing Certificates
- Click Actions → View IdP metadata
- A new tab opens with the metadata XML
- Select all (Ctrl/Cmd+A) and copy (Ctrl/Cmd+C)
Step 6: Complete Penvio Configuration
- Return to Penvio’s SAML SSO settings
- Paste the metadata XML into the IdP Metadata XML field
- Verify attribute mapping:
- Email attribute:
email - First name attribute:
firstName - Last name attribute:
lastName - Groups attribute:
groups(if configured)
- Email attribute:
- Optionally enable Enforce SSO to require SSO for all users
- Click Enable SAML SSO
Step 7: Assign Users in Okta
- In Okta, go to the Assignments tab
- Click Assign → Assign to People or Assign to Groups
- Select users or groups who need access to Penvio
- Click Save and Go Back
Testing Okta SSO
- Open an incognito/private browser window
- Go to your Penvio login page
- Enter your email or click Sign in with SSO
- You should be redirected to Okta
- After authenticating, you’ll return to Penvio
Okta Troubleshooting
| Issue | Solution |
|---|---|
| ”Invalid SAML response” | Verify ACS URL matches exactly (no trailing slash) |
| User not provisioned | Check that email attribute is mapped correctly |
| Certificate error | Re-download metadata XML from Okta |
| ”User not assigned” | Assign user to the app in Okta’s Assignments tab |
Security Considerations
- Regularly rotate certificates
- Monitor SSO audit logs
- Review JIT provisioned users
- Test failover procedures
Next Steps
- SCIM Provisioning - Automate user provisioning
- Roles & Permissions - Configure access control
- Authentication - Other authentication options
Last updated on