Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.chainloop.dev/llms.txt

Use this file to discover all available pages before exploring further.

This feature is only available on Chainloop’s platform paid plans.
Chainloop Cloud supports SAML 2.0 Single Sign-On so your team can authenticate with your organization’s Identity Provider (IdP). This guide walks you through configuring your IdP to work with Chainloop. SAML SSO is set up in concierge mode: you configure your IdP using the values below, then share the IdP metadata with the Chainloop team to complete the integration.

Chainloop Service Provider Details

When configuring a new SAML application in your IdP, you will need the following Chainloop Service Provider (SP) values:
SettingValue
SP Entity ID (Audience URI)https://api.app.chainloop.dev/auth/saml
Assertion Consumer Service (ACS) URLhttps://api.app.chainloop.dev/auth/saml/acs
SP Metadata URLhttps://api.app.chainloop.dev/auth/saml/metadata
ACS BindingHTTP-POST
AuthnRequest BindingHTTP-Redirect
Name ID Formaturn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress

Required and Optional SAML Attributes

Chainloop expects the following attributes in the SAML assertion. Only email is required.
AttributeRequiredSAML Attribute NameDescription
EmailYeshttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress or NameID (email format)User’s email address. Used to identify and provision the user.
First nameNohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/givennameUser’s first name.
Last nameNohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/surnameUser’s last name.
Display nameNohttp://schemas.xmlsoap.org/ws/2005/05/identity/claims/displaynameFallback display name if first/last name are not provided.
GroupsNogroupsList of group memberships. Used for automatic provisioning of user roles and groups.

IdP-Specific Configuration

Step 1: Create a New SAML Application

  1. In the Okta Admin Console, go to Applications > Applications
  2. Click Create App Integration
  3. Select SAML 2.0 and click Next
  4. Enter a name (e.g. Chainloop) and click Next

Step 2: Configure SAML Settings

In the SAML Settings section, fill in:
FieldValue
Single sign-on URLhttps://api.app.chainloop.dev/auth/saml/acs
Audience URI (SP Entity ID)https://api.app.chainloop.dev/auth/saml
Name ID formatEmailAddress
Application usernameEmail

Step 3: Configure Attribute Statements

Under Attribute Statements, add:
NameValue
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddressuser.email
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/givennameuser.firstName
http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surnameuser.lastName
Under Group Attribute Statements (optional, for automatic provisioning):
NameFilter
groupsChoose a filter that matches the groups you want to send (e.g. Matches regex .*)

Step 4: Assign Users (if Applicable)

Go to the Assignments tab of your new application and assign the users or groups that should have access to Chainloop. Depending on your Okta configuration, all users may already have access by default.

Step 5: Share the IdP Metadata

Go to the Sign On tab and copy the Metadata URL (under SAML Signing Certificates > Actions > View IdP metadata). Share this URL with the Chainloop team.

Complete the Setup

Once you have configured your IdP, send the following to the Chainloop team at [email protected]:
  1. Your IdP metadata URL (preferred) or metadata XML file
  2. The email domains that should be routed to this IdP (e.g. acme.com, acme.io)
The Chainloop team will register your IdP and confirm when SSO is ready. After that, users with the configured email domains will see a Log in with SSO option on the Chainloop login page.

How It Works

  1. A user opens the Chainloop login page and clicks Log in with SSO
  2. They enter their email address, and Chainloop discovers the matching IdP based on the email domain
  3. The user is redirected to their IdP for authentication
  4. After successful authentication, the IdP sends a signed SAML assertion back to Chainloop
  5. Chainloop validates the assertion, provisions the user account if needed, and issues a session token
  6. The user is logged in — this works for both the web application and the CLI
SAML SSO works with the Chainloop CLI as well. The CLI opens the login page in a browser, and after the SAML flow completes, the token is automatically passed back to the CLI.

Automatic User Provisioning

Chainloop can automatically provision users into organizations and groups based on the groups attribute in the SAML assertion. To enable this, let the Chainloop team know when requesting your SAML setup and make sure your IdP is configured to send the groups attribute (see the IdP-specific steps above). For more details on how provisioning rules work, see the automatic provisioning guide.

Troubleshooting

Users see “domain not allowed” after authenticating The email domain returned in the SAML assertion does not match the domains registered for your IdP. Verify that the email domain(s) provided to the Chainloop team match the domains in your IdP user directory. Users are not automatically added to organizations Ensure your IdP is configured to send a groups attribute in the SAML assertion and that auto-onboarding rules are configured on the Chainloop side. Contact the Chainloop team to verify the setup. “SSO” option does not appear on the login page The Chainloop team has not yet completed the IdP registration. Confirm that you have sent the metadata URL and email domains to [email protected].