SAP S/4HANA Authentication Methods by Deployment Model

Type: ERP Integration System: SAP S/4HANA (2025 / 2H 2025) Confidence: 0.88 Sources: 7 Verified: 2026-03-01 Freshness: 2026-03-01

TL;DR

System Profile

This card covers authentication methods across all three SAP S/4HANA deployment models: Public Cloud, Private Cloud (RISE with SAP), and on-premise. Authentication availability varies significantly between these models — Public Cloud is the most restrictive, on-premise the most flexible. SAP's identity strategy is actively shifting from XSUAA to SAP IAS with AMS. [src6]

PropertyValue
VendorSAP
SystemSAP S/4HANA 2025 / Cloud 2H 2025
API SurfaceOData v2/v4, SOAP, RFC/BAPI
Current Release2025 FPS01 (Private Cloud), 2H 2025 (Public Cloud)
Editions CoveredPublic Cloud, Private Cloud (RISE), On-Premise
DeploymentCloud / On-Premise / Hybrid
API DocsSAP API Business Hub
StatusGA

API Surfaces & Capabilities

SAP S/4HANA exposes APIs through multiple surfaces. Each surface supports different authentication methods depending on the deployment model.

API SurfaceProtocolAuth Methods (Cloud)Auth Methods (On-Prem)Primary Use
OData v2/v4HTTPS/JSON+XMLOAuth 2.0, mTLS, Basic (deprecated)Basic, X.509, OAuth 2.0, KerberosStandard API integration
SOAPHTTPS/XMLOAuth 2.0, mTLS, Basic (deprecated)Basic, X.509, KerberosLegacy integration, IDocs
RFC/BAPISNC/TCPN/A (not exposed in Public Cloud)SNC (X.509, Kerberos)SAP-to-SAP, SAP GUI
SAP GUIDIAG/SNCN/AKerberos/SPNEGO, X.509/SNC, SAMLInteractive user access
Fiori/UI5HTTPSSAML 2.0, IASSAML 2.0, Kerberos/SPNEGOBrowser-based UI access

Authentication Methods — Comprehensive Reference

Method 1: OAuth 2.0 Client Credentials

System-to-system integration where no user context is needed. The calling system authenticates with its own client ID and client secret (or client certificate) to obtain an access token. [src1]

PropertyValue
Grant Typeclient_credentials
User ContextNone — runs as technical communication user
Token LifetimeConfigurable; default 12 hours (S/4HANA Cloud)
Refresh TokenNot applicable — request new token when expired
DeploymentPublic Cloud, Private Cloud, On-Premise (via XSUAA/IAS)
Security LevelStandard (with client secret) / High (with client certificate)

When to use: Scheduled batch jobs, middleware-to-S/4HANA integrations, monitoring scripts, data migration tools. [src3, src4]

Method 2: OAuth 2.0 SAML Bearer Assertion

Propagates a named user's identity from an external system through to S/4HANA. The calling system presents a signed SAML assertion to the OAuth token endpoint, which validates it and issues an access token scoped to the asserted user. [src7]

PropertyValue
Grant Typeurn:ietf:params:oauth:grant-type:saml2-bearer
User ContextYes — access token is scoped to the propagated user
Token LifetimeConfigurable; default 12 hours
Refresh TokenNot supported
DeploymentPublic Cloud, Private Cloud
Security LevelHigh — requires trust relationship + signed SAML assertion

When to use: BTP extension apps calling back to S/4HANA on behalf of the logged-in user, Fiori launchpad integrations, any scenario requiring user-level authorization enforcement. [src1, src7]

Method 3: X.509 Certificate / mTLS (ClientCertificateAuthentication)

Mutual TLS provides the strongest authentication by requiring the client to present a valid X.509 certificate during the TLS handshake. S/4HANA Cloud comes with a ready-to-use client default certificate. [src2]

PropertyValue
ProtocolTLS 1.2+ with client certificate
User ContextTechnical communication user (mapped to certificate subject)
SessionPer-request — no token to manage
DeploymentAll — Public Cloud, Private Cloud, On-Premise
Security LevelHighest — no credentials transmitted over the wire
Certificate RequirementsCA-signed (Cloud); CA-signed or self-signed (On-Premise)

Cloud-specific requirement: S/4HANA Cloud Public Edition does not accept self-signed X.509 certificates. Your certificate must be signed by a Certificate Authority known to the S/4HANA Cloud backend. [src2]

Method 4: Basic Authentication (Username/Password)

Basic Authentication transmits base64-encoded credentials in the HTTP Authorization header. Deprecated for S/4HANA Cloud Public Edition — use only for development/testing. [src1, src4]

PropertyValue
ProtocolHTTP Basic (RFC 7617)
DeploymentOn-Premise (supported), Private Cloud (limited), Public Cloud (deprecated)
Security LevelLow — credentials in every request
SAP StatusDeprecated for S/4HANA Cloud Public Edition (2024+)

Method 5: SAML 2.0 (Browser SSO)

SAML 2.0 is used for browser-based single sign-on to SAP Fiori, Web GUI, and other web applications. Not used for API authentication directly but critical for interactive user access. [src4]

PropertyValue
ProtocolSAML 2.0 (HTTP POST binding)
DeploymentAll deployment models
IdP SupportSAP IAS, Microsoft Entra ID (Azure AD), Okta, PingFederate, ADFS

Method 6: Kerberos/SPNEGO + SNC

Kerberos with SPNEGO provides transparent SSO for Windows domain users accessing SAP GUI and web applications via Secure Network Communications. [src5]

PropertyValue
ProtocolKerberos 5 / SPNEGO over SNC
DeploymentOn-Premise only, Private Cloud (limited with Cloud Connector)
RequiresActive Directory, SAP Secure Login Server, SNC configuration
Not AvailableS/4HANA Cloud Public Edition

Authentication by Deployment Model — Decision Matrix

Auth MethodPublic CloudPrivate CloudOn-PremiseUser ContextSecurity Level
OAuth 2.0 Client CredentialsYesYesYes (with XSUAA/IAS)NoStandard/High
OAuth 2.0 SAML BearerYesYesPossible (with BTP)YesHigh
X.509 / mTLSYesYesYes (SNC)NoHighest
Basic AuthDeprecatedLimitedYesVariesLow
SAML 2.0 (Browser SSO)YesYesYesYesHigh
Kerberos/SPNEGONoLimitedYesYesHigh

[src1, src2, src4, src5]

Authentication Gotchas

Rate Limits & Quotas

Authentication itself is not rate-limited in SAP S/4HANA, but fair-use throttling applies to token endpoints and API calls.

OAuth Token Endpoint Limits

Limit TypeValueApplies ToNotes
Token request rateFair use / not publishedS/4HANA CloudCache tokens — do not request per API call
Token lifetime12h default (configurable)S/4HANA CloudConfigured in communication arrangement
Certificate validityMax 2 years (Cloud)S/4HANA Cloud mTLSPlan certificate rotation before expiry

[src1, src3]

Communication Arrangement Limits

Limit TypeValueApplies ToNotes
Max communication arrangementsNo hard limitS/4HANA CloudOne per integration scenario per external system
Auth methods per arrangement1 primaryS/4HANA CloudCannot mix OAuth and Basic in same arrangement
Communication users per systemMultiple allowedS/4HANA CloudEach can have different auth methods

[src1]

Constraints

Integration Pattern Decision Tree

START — User needs to authenticate against SAP S/4HANA
+-- What deployment model?
|   +-- Public Cloud
|   |   +-- System-to-system (no user context)?
|   |   |   +-- Standard security -> OAuth 2.0 Client Credentials (client secret)
|   |   |   +-- High security -> OAuth 2.0 Client Credentials (mTLS client auth)
|   |   |       OR -> X.509 ClientCertificateAuthentication (direct mTLS)
|   |   +-- User context needed (principal propagation)?
|   |   |   +-- OAuth 2.0 SAML Bearer Assertion
|   |   |       (requires IdP trust: SAP IAS or third-party SAML IdP)
|   |   +-- Browser SSO?
|   |       +-- SAML 2.0 via SAP IAS (or federated third-party IdP)
|   +-- Private Cloud (RISE)
|   |   +-- Same as Public Cloud options, PLUS:
|   |   +-- Cloud Connector available?
|   |   |   +-- YES -> Principal propagation via Cloud Connector
|   |   |   +-- NO -> OAuth 2.0 flows only
|   |   +-- Kerberos needed?
|   |       +-- Possible via Cloud Connector + on-premise AD (complex)
|   +-- On-Premise
|       +-- SAP GUI access?
|       |   +-- Windows domain users -> Kerberos/SPNEGO via SNC
|       |   +-- External users -> X.509 certificates via SNC
|       |   +-- Legacy -> Basic Auth (plan migration)
|       +-- API access (OData/SOAP)?
|       |   +-- Standard -> Basic Auth (still supported on-prem)
|       |   +-- Modern -> OAuth 2.0 via XSUAA/IAS on BTP
|       |   +-- High security -> X.509 / mTLS
|       +-- Browser SSO (Fiori)?
|           +-- Internal users -> Kerberos/SPNEGO
|           +-- External users -> SAML 2.0
+-- What security level?
    +-- Standard -> OAuth 2.0 Client Credentials with client secret
    +-- High -> OAuth 2.0 with mTLS client auth, or direct mTLS
    +-- Enterprise -> SAML federation + principal propagation

Quick Reference

Authentication Method Selection Matrix

ScenarioRecommended AuthDeploymentSetup ComplexityNotes
Middleware reads S/4HANA data (batch)OAuth 2.0 Client CredentialsAll CloudLowCommunication arrangement + OAuth client
BTP app calls S/4HANA as logged-in userOAuth 2.0 SAML BearerPublic/Private CloudMediumRequires IAS trust + destination config
iPaaS platform (MuleSoft, Workato)OAuth 2.0 Client CredentialsAll CloudLowMost iPaaS platforms support this natively
SAP-to-SAP (CPI/Integration Suite)OAuth 2.0 Client CredentialsPrivate CloudLow-MediumPre-configured in Integration Suite
Regulated industry (banking, pharma)X.509 / mTLSAllMedium-HighCA-signed cert required on Cloud
On-prem SAP GUI transparent SSOKerberos/SPNEGO + SNCOn-PremiseHighRequires AD + SAP Secure Login Server
Fiori browser SSOSAML 2.0AllMediumIAS (Cloud) or SAML2 transaction (on-prem)
Legacy third-party integrationBasic AuthOn-Premise onlyLowDeprecated on Cloud — plan migration
DevOps / CI-CD pipelineOAuth 2.0 Client CredentialsAll CloudLowToken caching essential
Webhook / event receiverOAuth 2.0 Client CredentialsAll CloudLowS/4HANA outbound to external system

[src1, src3, src4]

Step-by-Step Integration Guide

1. Set Up OAuth 2.0 Client Credentials (S/4HANA Cloud Public Edition)

Create a communication arrangement in S/4HANA Cloud that exposes the required API services and generates OAuth credentials. [src1]

Step 1: In S/4HANA Cloud, go to "Communication Arrangements" (Fiori app)
Step 2: Click "New" -> select the Communication Scenario (e.g., SAP_COM_0008 for Business Partner)
Step 3: Create or assign a Communication System (represents the external caller)
Step 4: Create a Communication User:
        - Authentication Method: OAuth 2.0
        - Grant Type: Client Credentials
        - Download or note the Client ID and Client Secret
Step 5: Save the arrangement -- note the Token Endpoint URL:
        https://{tenant}.s4hana.cloud.sap/sap/bc/sec/oauth2/token

Verify: Request a token using the credentials:

curl -X POST "https://{tenant}.s4hana.cloud.sap/sap/bc/sec/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -u "{client_id}:{client_secret}" \
  -d "grant_type=client_credentials"

Verify: Response contains "access_token" and "token_type": "bearer". [src1, src3]

2. Use the Access Token to Call an OData API

Include the bearer token in the Authorization header of your API request. [src4]

curl -X GET "https://{tenant}.s4hana.cloud.sap/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner?$top=10" \
  -H "Authorization: Bearer {access_token}" \
  -H "Accept: application/json"

Verify: HTTP 200 with d.results array containing business partner data.

3. Set Up mTLS / X.509 Certificate Authentication (S/4HANA Cloud)

For highest-security environments, configure certificate-based authentication. [src2]

Step 1: Obtain a CA-signed X.509 client certificate (PEM or PKCS#12 format)
        -- SAP Cloud provides a "client default certificate" you can use directly
Step 2: In "Communication Arrangements", create/edit the arrangement
Step 3: For the Communication User, select Authentication Method: "SSL Client Certificate"
Step 4: Upload the client certificate's public key to the Communication User
Step 5: Map the certificate's Subject DN to the communication user
Step 6: Save -- the system now accepts mTLS connections using this certificate

Verify:

curl -X GET "https://{tenant}.s4hana.cloud.sap/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner?$top=5" \
  --cert client-cert.pem \
  --key client-key.pem \
  -H "Accept: application/json"

Verify: HTTP 200 — certificate accepted and user mapped correctly. [src2]

4. Configure SAML 2.0 Browser SSO

Set up SAML-based single sign-on for Fiori and web application access. [src1]

For S/4HANA Cloud (Public/Private):
  Step 1: Configure SAP IAS as the Identity Provider
  Step 2: In S/4HANA Cloud admin, navigate to "Trust Configuration"
  Step 3: Download the S/4HANA SAML metadata (Service Provider metadata)
  Step 4: Upload SP metadata to your IdP (SAP IAS, Entra ID, Okta, etc.)
  Step 5: Upload IdP metadata to S/4HANA Cloud trust configuration
  Step 6: Map IdP user attributes to S/4HANA business user attributes

For On-Premise:
  Step 1: Run transaction SAML2 to configure S/4HANA as SAML Service Provider
  Step 2: Exchange metadata with your IdP
  Step 3: Configure name ID mapping and attribute assertions
  Step 4: Enable SAML authentication in ICF service nodes

Verify: Access Fiori launchpad URL in browser — should redirect to IdP login, then return authenticated. [src1]

Code Examples

Python: OAuth 2.0 Client Credentials Token Acquisition and API Call

# Input:  S/4HANA Cloud tenant URL, OAuth client ID and secret
# Output: Business Partner data as JSON

import requests  # requests==2.31.0

TENANT_URL = "https://{tenant}.s4hana.cloud.sap"
TOKEN_URL = f"{TENANT_URL}/sap/bc/sec/oauth2/token"
CLIENT_ID = "your_client_id"
CLIENT_SECRET = "your_client_secret"

# Step 1: Obtain access token
token_response = requests.post(
    TOKEN_URL,
    auth=(CLIENT_ID, CLIENT_SECRET),
    data={"grant_type": "client_credentials"},
    headers={"Content-Type": "application/x-www-form-urlencoded"},
)
token_response.raise_for_status()
access_token = token_response.json()["access_token"]

# Step 2: Call OData API with bearer token
api_url = f"{TENANT_URL}/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner"
api_response = requests.get(
    api_url,
    headers={
        "Authorization": f"Bearer {access_token}",
        "Accept": "application/json",
    },
    params={"$top": 10, "$select": "BusinessPartner,BusinessPartnerFullName"},
)
api_response.raise_for_status()
partners = api_response.json()["d"]["results"]
for bp in partners:
    print(f"{bp['BusinessPartner']}: {bp['BusinessPartnerFullName']}")

Python: mTLS Certificate-Based Authentication

# Input:  S/4HANA Cloud tenant URL, client certificate and key files (PEM)
# Output: Business Partner data as JSON -- no OAuth token exchange needed

import requests  # requests==2.31.0

TENANT_URL = "https://{tenant}.s4hana.cloud.sap"
CERT_FILE = "client-cert.pem"   # CA-signed X.509 certificate
KEY_FILE = "client-key.pem"     # Private key

api_url = f"{TENANT_URL}/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner"
response = requests.get(
    api_url,
    cert=(CERT_FILE, KEY_FILE),  # mTLS: client presents certificate
    headers={"Accept": "application/json"},
    params={"$top": 5},
)
response.raise_for_status()
print(response.json()["d"]["results"])

cURL: Test OAuth Token Endpoint

# Input:  Client ID, Client Secret, Token endpoint URL
# Output: JSON with access_token, token_type, expires_in

curl -s -X POST "https://{tenant}.s4hana.cloud.sap/sap/bc/sec/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -u "{client_id}:{client_secret}" \
  -d "grant_type=client_credentials" | python -m json.tool

# Expected response shape:
# {
#   "access_token": "eyJ...",
#   "token_type": "bearer",
#   "expires_in": 43200
# }

Data Mapping

Authentication Configuration Mapping

Configuration ItemPublic Cloud LocationPrivate Cloud LocationOn-Premise Location
Communication ArrangementFiori: "Communication Arrangements" appFiori: "Communication Arrangements" appN/A (use SM59 / SOAMANAGER)
OAuth Client RegistrationAuto-generated in comm. arrangementAuto-generated in comm. arrangementTransaction SOAUTH2 or BTP XSUAA
X.509 Certificate UploadCommunication User settingsCommunication User settingsTransaction STRUST (PSE management)
SAML Trust ConfigurationAdministration > Trust ConfigurationAdministration > Trust ConfigurationTransaction SAML2
Kerberos/SNC ConfigN/ACloud Connector + SNCTransaction RZ10 (profile params) + SU01 (SNC name)
IdP Metadata ExchangeSAP IAS admin consoleSAP IAS admin consoleTransaction SAML2 (metadata upload)

[src1, src5]

Data Type Gotchas

Error Handling & Failure Points

Common Error Codes

HTTP Code / ErrorMeaningCauseResolution
401 UnauthorizedAuthentication failedInvalid credentials, expired token, certificate not trustedVerify credentials; check token expiry; ensure CA cert is in trust store
403 ForbiddenAuthenticated but not authorizedCommunication user lacks authorizationCheck communication arrangement scope; verify business catalog assignments
400 Bad Request (OAuth)Token request malformedWrong grant_type, missing parametersUse application/x-www-form-urlencoded; verify grant_type string exactly
SSL Handshake FailuremTLS certificate rejectedSelf-signed cert on Cloud, expired certUse CA-signed cert on Cloud; verify cert chain; check expiry dates
SAML Assertion InvalidSAML bearer token rejectedAssertion expired, signature verification failedCheck clock sync; verify signing cert in trust config; check SAML issuer ID
SNC Name MismatchKerberos auth failedSNC name in SU01 does not match Kerberos principalVerify exact SNC name format and case in SU01; run SNC diagnostic trace

[src1, src2, src5]

Failure Points in Production

Anti-Patterns

Wrong: Requesting a new OAuth token for every API call

# BAD -- hammers the token endpoint, may trigger throttling
for record in records:
    token = get_new_oauth_token()  # New token per request!
    call_api(token, record)

Correct: Cache and reuse the OAuth token

# GOOD -- token cached, refreshed only when near expiry
import time

class TokenCache:
    def __init__(self, client_id, client_secret, token_url):
        self._token = None
        self._expiry = 0
        self._client_id = client_id
        self._client_secret = client_secret
        self._token_url = token_url

    def get_token(self):
        if self._token and time.time() < self._expiry - 300:  # 5min buffer
            return self._token
        resp = requests.post(self._token_url,
            auth=(self._client_id, self._client_secret),
            data={"grant_type": "client_credentials"})
        data = resp.json()
        self._token = data["access_token"]
        self._expiry = time.time() + data["expires_in"]
        return self._token

Wrong: Using Basic Auth for new Cloud integrations

# BAD -- Basic Auth is deprecated on S/4HANA Cloud Public Edition
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

Correct: Use OAuth 2.0 Client Credentials

# GOOD -- OAuth 2.0 is the standard for S/4HANA Cloud
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...

Wrong: Storing OAuth client secrets in source code

# BAD -- secrets in code are visible in version control
CLIENT_SECRET = "a1b2c3d4-e5f6-7890-abcd-ef1234567890"

Correct: Use environment variables or a secrets manager

# GOOD -- secrets from environment or vault
import os
CLIENT_SECRET = os.environ["SAP_OAUTH_CLIENT_SECRET"]
# Or use a secrets manager (AWS Secrets Manager, Azure Key Vault, HashiCorp Vault)

Common Pitfalls

Diagnostic Commands

# Test OAuth 2.0 token endpoint (Client Credentials)
curl -v -X POST "https://{tenant}.s4hana.cloud.sap/sap/bc/sec/oauth2/token" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -u "{client_id}:{client_secret}" \
  -d "grant_type=client_credentials"
# Expected: HTTP 200 with access_token in JSON body
# If 401: client_id or client_secret is wrong
# If 400: grant_type or Content-Type is wrong

# Test mTLS certificate authentication
curl -v --cert client-cert.pem --key client-key.pem \
  "https://{tenant}.s4hana.cloud.sap/sap/opu/odata/sap/API_BUSINESS_PARTNER/$metadata"
# Expected: HTTP 200 with OData metadata XML
# If SSL handshake error: certificate not trusted (check CA chain)

# Verify OAuth token validity (decode JWT)
echo "{access_token}" | cut -d. -f2 | base64 -d 2>/dev/null | python -m json.tool
# Check: "exp" (expiry timestamp), "client_id", "scope"

# Test S/4HANA Cloud API with bearer token
curl -s -o /dev/null -w "%{http_code}" \
  -H "Authorization: Bearer {access_token}" \
  "https://{tenant}.s4hana.cloud.sap/sap/opu/odata/sap/API_BUSINESS_PARTNER/A_BusinessPartner?$top=1"
# Expected: 200
# If 401: token expired or invalid
# If 403: communication user lacks authorization for this service

Version History & Compatibility

S/4HANA VersionReleaseAuth ChangesMigration Notes
2H 2025 (Cloud)2025-10OAuth Authorization Code with PKCE (RFC 7636) added; JWT-based client auth (RFC 7523)New options for BTP integration; existing flows unaffected
2025 FPS01 (Private Cloud)2025-08SAP-managed client certificates for Private CloudSimplifies mTLS setup for RISE customers
2H 2024 (Cloud)2024-10Basic Auth formally deprecated for inbound APIsMigrate to OAuth or mTLS; existing Basic Auth still works but unsupported
2023 (On-Premise)2023-10No breaking changesOAuth available via BTP; native auth methods unchanged

[src1, src3]

Deprecation Policy

SAP follows a two-release deprecation notice policy for S/4HANA Cloud. Authentication method changes are announced at least one release (6 months) before enforcement. On-premise customers have longer migration windows. Basic Auth deprecation was announced in 2024 with no hard enforcement date yet. [src1]

When to Use / When Not to Use

Use WhenDon't Use WhenUse Instead
System-to-system batch integration (no user context)You need user-level audit trail in S/4HANAOAuth 2.0 SAML Bearer Assertion (principal propagation)
S/4HANA Cloud Public Edition new integrationOn-premise S/4HANA with existing Basic AuthBasic Auth (on-prem only, plan migration)
Regulated industry requiring certificate-based authSimple dev/test environmentOAuth 2.0 Client Credentials (simpler setup)
Browser SSO for Fiori applicationsAPI-to-API integration (no browser)OAuth 2.0 Client Credentials or mTLS
Windows domain users accessing SAP GUI (on-prem)Cloud deployment without Active DirectorySAML 2.0 browser SSO

Cross-System Comparison

CapabilitySAP S/4HANA CloudOracle ERP CloudSalesforceMicrosoft Dynamics 365
OAuth 2.0Client Credentials + SAML BearerClient Credentials + JWT BearerJWT Bearer + Web Server + Client CredentialsClient Credentials + Auth Code
Certificate Auth (mTLS)Yes (CA-signed required)YesYes (connected app)Yes (certificate-based)
Basic AuthDeprecated (Cloud)Not recommendedNot available (Cloud)Supported
SAML SSOSAML 2.0 via IASSAML 2.0 via OCI IAMSAML 2.0SAML 2.0 via Entra ID
Kerberos/SPNEGOOn-premise onlyNot applicableNot applicableVia Entra ID
API KeyNot supportedNot supportedNot supported (use OAuth)Not supported
Token Lifetime12h default (configurable)1h (configurable)2h (session-based)1h default
IdP FlexibilitySAP IAS, any SAML 2.0 IdPOCI IAM, any SAML 2.0 IdPAny SAML/OIDC IdPEntra ID (native), any SAML IdP

Important Caveats

Related Units