Knowledge HubSSO & Authentication

SSO & Authentication

Authentication methods, Single Sign-On configuration, multi-factor authentication, session management, and organization-level security policies. SSO configuration is managed by the Organization Administrator.

Local Authentication

Local accounts are email/password credentials stored and managed by DataKnits directly. Passwords are hashed using bcrypt before storage — plaintext passwords are never persisted.

Local accounts support:

Local accounts and SSO accounts can coexist within the same organization. An Organization Administrator controls which authentication methods are permitted.

JWT & Session Management

DataKnits uses JSON Web Tokens (JWT) for session management. On successful login, the platform issues a signed JWT that the browser includes with every subsequent API request.

PropertyValue / Behaviour
Token signing algorithmHS256 (configurable to RS256 for enterprise deployments)
Token lifetimeConfigurable by Org Admin. Default: 8 hours.
Refresh mechanismSilent refresh when token is within the last 30 minutes of expiry.
Concurrent sessionsMultiple active sessions per user are permitted by default. Org Admin can restrict to one session per user.
Session revocationAn admin can revoke all active sessions for a user immediately (e.g., on deactivation or security event).
Secret rotationJWT signing secret is set via JWT_SECRET environment variable. Rotating the secret immediately invalidates all active sessions.

SSO Overview

DataKnits supports two SSO protocols: SAML 2.0 and OpenID Connect (OIDC) / OAuth 2.0. SSO is configured at the organization level and can be set to optional (users may also use local credentials) or mandatory (all users must authenticate via SSO).

When SSO is enabled:

SAML 2.0

SAML 2.0 is suitable for enterprise identity providers such as Microsoft Entra ID (Azure AD), Okta, OneLogin, and PingFederate.

Configuration Fields

FieldRequiredDescription
IdP Entity IDYesThe unique identifier of your Identity Provider, provided in the IdP metadata XML.
IdP SSO URLYesThe URL DataKnits redirects users to for authentication (HTTP-Redirect binding).
IdP X.509 CertificateYesThe public certificate used by DataKnits to verify the IdP's SAML assertions. Paste the PEM-encoded certificate.
SP Entity ID (provided by DataKnits)The unique identifier of DataKnits as the Service Provider. You register this value in your IdP.
SP ACS URL (provided by DataKnits)The Assertion Consumer Service URL where the IdP posts SAML responses. Register this in your IdP.
Attribute Mapping — EmailYesThe SAML attribute name that contains the user's email address (e.g., http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress).
Attribute Mapping — First NameRecommendedSAML attribute for the user's first name.
Attribute Mapping — Last NameRecommendedSAML attribute for the user's last name.
Sign Authentication RequestsNoWhen enabled, DataKnits signs outbound SAML AuthnRequests with the SP private key.
Force Re-authenticationNoInstructs the IdP to prompt for credentials even if the user already has an active IdP session.
The IdP X.509 certificate must be kept up to date. If your IdP rotates its signing certificate and you do not update this field, all SSO logins will fail with an assertion validation error.

OIDC / OAuth 2.0

OpenID Connect is suitable for providers such as Google Workspace, Microsoft Entra ID, Okta, Auth0, and Keycloak.

Configuration Fields

FieldRequiredDescription
Client IDYesThe application (client) identifier issued by your IdP when you registered DataKnits as an OAuth application.
Client SecretYesThe client secret issued by your IdP. Stored encrypted (AES-256).
Issuer URL / Discovery URLYesThe base URL of the IdP. DataKnits appends /.well-known/openid-configuration to auto-discover endpoints. Example: https://accounts.google.com.
Redirect URI (provided by DataKnits)The callback URL to register in your IdP application settings.
ScopesYesOAuth scopes to request. Minimum: openid email profile.
Claims Mapping — EmailYesThe ID token claim that contains the user's email. Default: email.
Claims Mapping — NameRecommendedID token claim for the display name. Default: name.

Multi-Factor Authentication (MFA)

MFA adds a second verification step after password entry. DataKnits supports TOTP-based authenticator apps (e.g., Google Authenticator, Microsoft Authenticator, Authy).

MFA Enforcement Modes

ModeBehaviour
DisabledMFA is not available. Users cannot enrol.
OptionalUsers can enrol MFA voluntarily. MFA is not required to log in.
RequiredAll users must enrol MFA before completing their first login. Logins without MFA are blocked.
Required for AdminsMFA is mandatory for any user holding an Admin or Project Owner role. Optional for all other roles.

MFA enforcement mode is set at the organization level by the Org Admin. When mode is changed from Optional to Required, existing users without MFA enrolled are prompted to enrol on their next login.

When SSO is configured as the authentication method, MFA is typically delegated to the Identity Provider. DataKnits does not enforce its own MFA challenge for SSO users — configure MFA enforcement within your IdP.

Password Policy

Password policy applies to local accounts only. SSO-authenticated users follow their IdP's password policy.

SettingDefaultConfigurable by Org Admin
Minimum length12 charactersYes (minimum 8)
Complexity requirementMust contain uppercase, lowercase, digit, and special characterYes
Password expiryNeverYes — e.g., every 90 days
Reuse preventionLast 12 passwords cannot be reusedYes
Failed login lockout threshold5 consecutive failuresYes (1–10)
Lockout duration30 minutes (auto-unlocks)Yes, or admin unlock only

IP Allowlist

The Organization Administrator can restrict platform access to specific IP address ranges. Login attempts from outside the configured ranges are rejected before authentication is attempted.

Test a new IP allowlist configuration from a whitelisted address before saving. Saving an allowlist that excludes your current IP will not immediately lock you out (your existing session persists), but you will be unable to log back in if you log out.