Skip to main content
Flashduty supports Single Sign-On (SSO) via SAML2.0, OIDC, CAS, and LDAP (private deployment only) protocols, helping you easily integrate with various applications and platforms. Users only need to sign in once to access multiple connected applications and services without repeated authentication.

Network Access Requirements


Each protocol has different network reachability requirements for your identity provider (IdP). Confirm this before configuring to avoid sign-in failures caused by network access: If your identity provider is on a private network and not reachable from the public internet:
  • You can allow Flashduty’s egress IPs — 47.94.95.118, 123.56.8.183, 47.94.193.81, and 1.13.19.96 — through your firewall to open access from Flashduty to the IdP
  • If you’d rather not open any public access to your identity provider, SAML 2.0 is the only protocol that needs none — it’s the recommended choice in that case
The egress IPs above apply only to Flashduty’s SaaS (public cloud) service. If you’re using a private (on-premises) deployment, Flashduty runs inside your own network and its egress IP depends on your deployment environment — check with your infrastructure team instead of using the addresses above.

Configuring SAML Protocol


Configuration path: Platform Management → Single Sign-On → Enable → Settings → Select SAML2.0 protocol type You can sync roles and teams by the names returned by your identity provider. See Role and team mapping. Leave default roles and default teams empty in most cases to keep fallback assignments off.

Configuring OIDC Protocol


Configuration path: Platform Management → Single Sign-On → Enable → Settings → Select OIDC protocol type You can sync roles and teams by the names returned by your identity provider. See Role and team mapping. Leave default roles and default teams empty in most cases to keep fallback assignments off.
Scopes is a required field. The default values openid, profile, email, phone are the base permissions needed for OIDC to function properly. Removing these defaults may cause single sign-on to fail or prevent correct retrieval of user information. If you need to add custom scopes, add them while keeping the defaults intact.

Configuring CAS Protocol


Configuration path: Platform Management → Single Sign-On → Enable → Settings → Select CAS protocol type You can sync roles and teams by the names returned by your identity provider. See Role and team mapping. Leave default roles and default teams empty in most cases to keep fallback assignments off.

Role and team mapping

OIDC, SAML2.0, and CAS support syncing member roles and team membership by the role names and team names returned by your identity provider. LDAP continues to use Group DN mapping, not the name mapping described here. Field mappings apply on every sign-in; defaults apply only when creating members. After you enable the corresponding sync option and configure the role or team field, valid matches replace the member’s existing roles or team memberships on every SSO sign-in, including manually assigned ones. With no matches, existing members keep their assignments; only members actually created during this sign-in receive the configured valid defaults. Roles and teams are handled independently.
In most cases, keep default role and default team fallbacks off by leaving both selections empty.Defaults apply only when the current SSO sign-in actually creates a new member and no names match for the corresponding roles or teams. Existing members do not receive defaults on sign-in, and changing defaults does not reassign their permissions.Defaults are still shared rules for this SSO configuration, not settings for an individual member. If a mapping field is empty or incorrect, or the identity provider returns no matching names, every new member created through this SSO configuration without matches receives the same default roles or joins the same default teams. Do not select defaults just to make a sign-in test work. In particular, do not use administrator or other privileged roles, or sensitive teams, as general defaults.

Configuration fields

Configuration path: Platform Management → Single Sign-On → Select OIDC, SAML2.0, or CAS → Sync Configuration Defaults have no separate toggle: to turn fallback assignments off, clear the default role and default team selections. If you do not want SSO to manage roles or teams, turn off Sync roles or Sync teams, respectively.

How names match

  • Mapping field names are strings. The returned values can be a single string or an array of strings. Use an array for multiple names: "A,B" is treated as one complete name and is not split on commas.
  • Flashduty trims leading and trailing whitespace, matches names exactly and case-sensitively, and removes duplicate names.
  • Roles match the preset names Admin, Responder, and Viewer, or enabled custom roles in the current account. Teams match non-deleted teams in the current account.
  • If multiple eligible roles or teams share a name, Flashduty selects the one with the smallest ID. Name mapping does not create roles or teams.
  • OIDC reads the returned claims, SAML reads assertion attributes, and CAS reads returned user attributes. Field names must match what your identity provider actually returns.
For example, if OIDC returns these claims, enter roles as the role field and teams as the team field:
Create the example teams in Flashduty first, and replace the returned values with the names you use. This mapping example requires no default roles or teams.

When defaults apply

Roles and teams match and fall back independently. For example, if roles match but teams do not, Flashduty uses the matched roles. A new member can receive default teams; an existing member keeps their current teams. A first SSO sign-in does not necessarily create a new member. Members already created or invited by an administrator, and existing members linked to a stable user ID for the first time, do not receive defaults. Defaults apply only when Just-In-Time (JIT) provisioning creates a new member record during the current sign-in.
A role or team selected as a default role or default team in any saved SSO configuration cannot be deleted. Deleting the role or team returns ReferenceExist (the resource is still referenced by other entities and cannot be deleted). Unselect it in the corresponding SSO configuration’s Default Roles / Default Teams options and save first. The restriction also applies when SSO or the corresponding sync switch is currently off — the defaults are already saved and re-enabling the configuration must not restore dangling IDs; forced role deletion (is_force) does not bypass it either.
Valid mappings replace assignments; they do not append to them. On an existing member’s next SSO sign-in, valid mapping results can still replace manually assigned roles or teams. A dimension with no matches remains unchanged. To manage roles or teams entirely by hand, disable the corresponding sync option instead of only clearing its defaults.
1

Configure name mapping and leave defaults empty

Confirm that your identity provider returns the correct role and team names for each group of members, then enable the sync options you need. Keep an option off until its mapping is ready.
2

Test members with and without matches

Use test members to check matching names, missing fields, and unmatched names. Sign in again to confirm the actual role and team changes. Test existing members as well as new members.
3

Configure defaults only for an intentional shared fallback

Select default roles or teams only when every new member created through SSO without matches should receive the same minimum required permissions or join the same teams. Otherwise, leave defaults empty to keep fallback assignments off. Changing defaults does not affect existing members.
See Role and Team Sync for per-protocol name sources, matching rules, and field retention. LDAP uses Group DN mapping, not the name mapping or new-member default rules in this section.

Configuring LDAP Protocol


LDAP single sign-on is only supported in the private deployment version.
Configuration path: Platform Management → Single Sign-On → Enable → Settings → Select LDAP protocol type
Field mapping must be consistent with the identity provider configuration, otherwise it will cause errors. For specific configuration, refer to OpenLDAP Integration Guide.

LDAP Connection Test

After configuring the LDAP connection information, you can click Test connection below the LDAP form in the Protocol & connection section to verify that Flashduty can successfully connect to your LDAP server. The system will attempt to establish a connection using the currently entered LDAP URL, BIND DN, and password, and return a success or failure result.
We recommend running the connection test before saving the configuration to ensure connection parameters are correct, avoiding login failures due to misconfiguration.

LDAP Role and Team Synchronization

When using the LDAP protocol, you can automatically synchronize Flashduty roles and teams based on the user’s LDAP Group membership. Configuration path: LDAP Settings page → Sync Configuration
1

Enable Synchronization

In the sync configuration area, enable the Sync Roles and/or Sync Teams toggles.
2

Add Mapping Rules

Click Add Mapping Rule and configure the following for each rule:
3

Configure Default Roles

When Sync Roles is enabled, you can configure Default Roles. When a user’s LDAP Groups do not match any mapping rule, the system will assign these default roles.
  • You can add multiple mapping rules, each corresponding to one LDAP Group
  • When a user signs in, the system automatically matches and synchronizes the corresponding roles and teams based on their LDAP Group membership
  • The Group DN in mapping rules must be the full path of the Group in LDAP

Member Association


During single sign-on, the system associates the user returned by the identity provider with a member of the account. The association method depends on whether the SSO configuration has a Stable User ID Field set, and this applies to new and existing configurations alike:
Make sure the identity provider always returns a stable and unique user ID. A mapping failure (the identity provider does not return the field) will prevent members from signing in.
Changing identity-scope settings (protocol type, identity provider address, or the stable user ID field) is treated as an identity-scope change, and the system rotates the SSO configuration ID. Existing members are re-associated by email or phone on their next sign-in and bound to the new stable user ID.

SSO-only login


The force_sso option restricts every member of the account to signing in through SSO, fully delegating authentication to the identity provider. Configuration path: Platform Management → Single Sign-On → Enable → Settings → Members can only sign in via SSO When this option is on and a member attempts password or verification-code sign-in, the login endpoint returns:
The same restriction applies when switching accounts inside a password session: if the target account has force_sso enabled, the switch is rejected with The target account requires SSO login. Switching via password session is not allowed.
Operational risk: Once force_sso is on, if the identity provider (IdP) is not reachable or misconfigured, every member of the account — including the account owner — will be locked out. Before turning this toggle on:
  1. Sign in end-to-end via SSO with at least one member account to verify the IdP flow works.
  2. Make sure the account owner has a working SSO sign-in path, so you cannot accidentally lock yourself out.
  3. If the IdP may be temporarily unavailable, keep this toggle off and re-enable it after the IdP is verified.

Comparison with “Prevent editing external members”

force_sso controls how members sign in — whether password and verification-code sign-in are allowed. sso_user_non_editable (Prevent editing external members) controls member editability — whether SSO-synchronized external members can have their profile and role modified in the console. The two settings act on different layers and can be toggled independently.

External member management


When you enable single sign-on, members automatically created through their first SSO login are marked as external members. You can enable the Prevent editing external members option in SSO settings (disabled by default). When enabled, these external members become read-only in Flashduty — you cannot modify their roles or delete them in Flashduty. All member management must be done through the identity provider. This feature is ideal for organizations that need to centrally manage user permissions in the identity provider, ensuring member information in Flashduty always stays in sync.
  • This option only affects external members created via SSO; manually invited members are not affected
  • If the SSO configuration is deleted, existing external members remain read-only by default

Login Domain Management


The login domain is an important identifier for your account, used to locate the correct SSO configuration during single sign-on. Each account’s login domain is globally unique. After configuring the login domain, members can initiate single sign-on directly through the {domain}.sso.flashcat.cloud address without manually selecting an identity provider. You can modify the account domain on the Platform Management → Organization → Organization Information → Organization Profile page. The domain must be 5–40 characters long and can only contain letters, numbers, or -, and cannot start or end with -.
After changing the domain, it will apply to the following scenarios:
  • SSO single sign-on configuration: All configured SSO login domains will change accordingly. Members will need to use the new domain to initiate single sign-on
  • Email integration push addresses: The email integration receiving address format is prefix@{domain}.{email-suffix}. The address changes when the domain changes, so update related configurations promptly
Before modifying, ensure you have checked your email integration configuration and notified your organization. The modification may require multi-factor authentication (MFA) verification. If you encounter any issues, contact technical support promptly.
  • It is recommended to use your company’s English name as the login domain for easy memorization
  • Once set, changing the login domain will immediately invalidate the old domain; members using the old domain will need to update their login address

Best Practices


Role and Team Sync

SAML2.0/OIDC/CAS sync by name on every sign-in; defaults apply only to new members without matches

Authing Integration

Configure Flashduty SSO single sign-on through Authing

Keycloak Integration

Configure Flashduty SSO single sign-on through Keycloak

OpenLDAP Integration

Configure Flashduty SSO single sign-on through OpenLDAP