Authentication

On BTP the concern splits three ways, and the pieces are not alternatives. SAP Authorization and Trust Management is the OAuth server that issues the JWT an application checks; Cloud Identity Services is the login itself, the user store or the federation to a corporate identity provider behind it; and carrying that identity onward, to a resource app or into the customer's own network, is a third question with its own entries. An application binds the first and usually inherits the second.

Overview

SAP SHIPS

SAP Authorization and Trust Management is the OAuth 2.0 authorization server: a subaccount cross-configures trust with an identity provider, the provider confirms the user with a SAML bearer assertion, and the service determines that user's authorizations and signs the JWT an application reads; an API client authenticates against the service directly instead, with no user present. The identity provider is Cloud Identity Services where a tenant has been asked for, and SAP ID service, SAP's own tenant, where nobody has changed the trust. @sap/approuter is the standard implementation of the gateway: it starts the authentication, checks for cross-site request forgery and forwards each request to the resource apps with the user information.

Not covered: At the token it signs. The gateway does not hide the backends: its own README states that they stay directly reachable and must validate the JWT and check the scopes themselves, so a request is accepted or refused in the resource app and not on the platform. SAP ID service, the identity provider a subaccount trusts until someone changes that, has no mechanism to enforce multifactor authentication on its users. What a validated caller may then do is authorization, a different service and a different question.

core-and-community is a assessment of the corpus: SAP's services and the router behind this door, and independently maintained packages that sit on top of the SAP Authorization and Trust Management service and Identity Authentication. The pages checked state what the platform does and where the application takes over; none states an intent, which is why the relationship is left unassessed rather than called narrow by design.

THE COMMUNITY ADDS

Independently maintained packages wrap the OAuth server and the identity provider for cases their own documentation does not cover. @arc-mcp/xsuaa-auth puts the XSUAA OAuth flow, dynamic client registration and bearer verification in front of an MCP server's HTTP route, @saptools/cf-xsuaa prints a deployed Cloud Foundry app's own client_credentials token out of its binding, and sap-mcp-auth completes the SAP Identity Authentication login in a browser and keeps the session for a program.

Artifacts10

10 of 10 artifacts
ArtifactSignals
Apps2
@sap/approuterSAP's Node.js application router in front of business applications
Signals
none
Cloud ConnectorSAP's on-premises agent linking SAP BTP to customer-network systems
Signals
none
CLI tools1
@saptools/cf-xsuaaOAuth2 token fetcher for a Cloud Foundry app's XSUAA binding
Signals
none
Packages3
@arc-mcp/xsuaa-authXSUAA authentication stack for an MCP server on SAP BTP
Signals
Functional boundary
@marianfoo/sap-mcp-authBrowser login and session module for SAP MCP servers
Signals
Functional boundary
abap_cloud_platformTypeScript library reaching ABAP service instances on Cloud Foundry
Signals
none
Services4
Cloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant
Signals
none
OAuth 2.0 on SAP BTPOAuth 2.0 grant flows for applications and APIs in Neo regions
Signals
none
SAP Authorization and Trust Management serviceOAuth server issuing JWTs and holding scopes for BTP apps
Signals
none
SAP Customer Identity and Access Management for B2CRegistration, login and consent for customer-facing sites
Signals
none

Tasks4Beta

Shown workingCoversCovers, under conditionsLikely, from its propertiesNot assessed
Get a token for a protected BTP endpoint with no user signed in2 covers, 1 under conditions

A script, a job or another service calls a protected endpoint of a deployed SAP BTP application and is accepted, with nobody at a browser.

Obtaining the token and keeping it fresh. What the called endpoint then lets the client do is authorization, and carrying a named person's identity is a separate outcome.

CoversSAP Authorization and Trust Management serviceIssues the token. SAP's architecture page separates the API client from the browser user: the client gets its credentials from this service and authenticates against it directly, and the client credentials grant is among the grant types the environment supports.

Remaining work: Create the service instance and its OAuth client, keep the client secret somewhere the caller can read, call the token endpoint on each run and handle expiry. The endpoint being called still validates the JWT and checks its scopes itself.

Open artifact →

Covers@saptools/cf-xsuaaReads the XSUAA binding out of a deployed Cloud Foundry app and prints a client_credentials token for that app, which is the token a protected endpoint of it expects rather than the personal token cf oauth-token returns.

Remaining work: Install it on Node.js 20 or later with the cf CLI on the PATH, and supply SAP_EMAIL and SAP_PASSWORD for the first secret fetch. Nothing about the called endpoint's own validation changes.

Open artifact →

Covers, under conditionsOAuth 2.0 on SAP BTPGrants an access token on the client's credentials alone, with no user interaction, which the catalogue record names for protecting an API or an IoT device.

Conditions: The one plan in the Discovery Center record is listed in regions marked Neo and in no Cloud Foundry environment. SAP states the service is being removed from the Eligible Cloud Services List on December 31, 2028 in those regions.

Remaining work: Check the entitlement before anything else: the plan has to exist in the region the application runs in, and a subscription has an end date.

Open artifact →

Put the company's own identity provider behind a BTP application's login2 covers

People sign in to a BTP application with their corporate account, under the company's own password and multifactor policy rather than SAP's.

The trust and the federation that make the corporate account the one that logs in. Mapping its attributes to what an application expects, and replicating the users themselves, are named here and not assessed.

CoversCloud Identity ServicesStands between the application and the company's own provider: the users are hosted in its tenant or read from the corporate provider behind it, and the password and authentication policies enforced are the company's own.

Remaining work: Ask for a tenant, connect the corporate provider to it, and map the attributes the provider returns to the ones the applications expect.

Open artifact →

CoversSAP Authorization and Trust Management serviceHolds the subaccount's side of the trust. Identity federation is what frees the platform and its applications from storing credentials and authenticating people themselves, and the trust is established by cross-configuring the endpoints of both systems.

Remaining work: Cross-configure the endpoints, and move the subaccount off the trust it starts with: that is SAP ID service, where SAP states there is no mechanism to enforce multifactor authentication on its users.

Open artifact →

Reach a system in the customer's own network as the signed-in user1 shown working, 1 covers, 1 likely

An application on SAP BTP calls a system inside the customer's network and that system sees the person who signed in, not a shared service user.

Carrying the identity to the on-premise system. What that system then permits the person to do is its own, and the cloud login itself is a separate outcome.

Shown workingCloud ConnectorForwards the cloud user's identity to the internal system instead of a password of its own. Principal propagation is one of three authentication types it offers towards an internal system, beside basic authentication and technical user propagation.

Conditions: Trust has to be configured explicitly to the cloud entities whose user tokens are accepted as valid. The calling application's destination configuration decides which of the three authentication types is used.

Remaining work: Install and register the connector, add the access control entry for the system, and set up the certificate and the subject pattern the internal system resolves a logon name from.

Open artifact →

Covers@arc-mcp/xsuaa-authDoes the cloud half of this for an MCP server: it resolves a destination with the verified user's own JWT and returns the per-user credentials and a proxy descriptor for the Cloud Connector, so the call leaves as that user rather than as a service account.

Remaining work: Assemble the outgoing request. Its README leaves the headers, the cookies and the forward-proxy call to the consuming server, and the destination and the connector still have to be configured as above.

Open artifact →

Likely, from its properties@sap/approuter
Sign a browser user in to a BTP application and have its backends accept the result2 shown working, 1 covers

A person opens a deployed SAP BTP application in a browser, logs in once, and each of the application's own backend endpoints accepts the request as that person.

The login and the token the backends read. Which role collections the person holds is authorization, and reaching a system outside the subaccount is a separate outcome.

Shown working@sap/approuterIs the single entry point: it starts the authentication for the routes that need it, checks for cross-site request forgery, serves the static content and forwards each request onward with the user information.

Remaining work: The backends. Its own README states that they stay directly reachable past the router and must validate the JWT and check the scopes themselves, so the router alone does not make an endpoint safe to expose.

Open artifact →

Shown workingSAP Authorization and Trust Management serviceTurns the successful login into the token the application reads. The identity provider's SAML bearer assertion is presented to this service, it determines that user's authorizations, and it signs the JWT with the key whose public half arrives in each app's binding.

Remaining work: Cross-configure the trust with the identity provider, declare the application's authorizations in its security descriptor, and bind every app of the application to the one service instance.

Open artifact →

CoversCloud Identity ServicesAuthenticates the person. It is the identity provider a subaccount trusts, and the place single sign-on across the SAP applications in the landscape is decided.

Remaining work: Ask for a tenant and establish the trust: a subaccount trusts SAP ID service until someone changes that.

Open artifact →

Content37

Group by37 of 37 pieces
Piece, what it offers
SAP Just Became AI-Agent Ready — Here's a Step-by-Step MCP Walkthrough
SAP Community, Piyush_003, Blog
Named-User Attribution Across BTP Subaccounts: A Two-Hop IAS Token Exchange for Cloud Integration
SAP Community, agnissh, Blog
Connecting a Custom MCP Server to Joule Work Desktop: A Seamless and Secure Authentication Flow
SAP Community, Siddhartha Routh, Blog
Show 31 more
From SAP Integration Suite iFlow to MCP Tools: Exposing OData APIs to AI Agents
SAP Community, Nacho Muñoz Álvarez, Blog
Principal Propagation from BTP Web App to S/4HANA via SAP Integration Suite
SAP Community, Joni, Blog
Standardized OIDC API Access to SAP S/4HANA via SAP API Management and Microsoft Entra ID
SAP Community, StigPraefcke, part 2 of 2, Blog
Standardized OIDC API Access to SAP SuccessFactors via SAP API Management and Microsoft Entra ID
SAP Community, StigPraefcke, part 1 of 2, Blog
Integrating and Extending Joule
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
SAP BTP Platform Technical User for CTMS Integration
SAP Community, Marudhu999, Blog
SAP Joule implementation in an S/4HANA private cloud 3 system landscape
SAP Community, Arunrajj, Blog
How to Access SAP Cloud Logging Service Dashboards Using IAS SAML Authentication
SAP Community, Umezuki, Blog
Securing CAP Applications with SAP Cloud Identity Services and AMS
SAP Community, gopalanand, BlogThe reasoningRunnable code
Joule Studioがリリースされたので早速CAPアプリを自然言語で操作するカスタムスキルを構築してみた
SAP Community, takayuki_tanaka, Blog
Connect to Public Cloud API in Node.js via Authorisation Code
SAP Community, Egan, BlogThe reasoning
Guide to Process Automation APIs - Part I - Getting Started
SAP Community, Dan_Wroblewski, Blog
Making the Case for Enhanced REST Adapter in SAP Integration Suite
SAP Community, peter_ha3, Blog
Secure Service Consumption Across Hyperscalers
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
SAP IAM integration with SAP Cloud Identity Services
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
Enabling Authorization Policies in SAP Cloud Identity Services - IAS with AMS/CAP
SAP Community, Yogananda, BlogThe reasoningA recipe
Core changed
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User ID
SAP Community, ivelinakiryakov, Blog
Perform SAP Principal Propagation with Microsoft Entra ID for SAP SuccessFactors!
SAP Community, Martin Pankraz, Blog
Simplifying SAP BTP Authentication in Pipelines with SAP Passport and Playwright
SAP Community, Marian Zeis, BlogThe reasoningRunnable code
Nice patch SAP! Revisiting your SAP BTP security measures after AI Core vulnerability fix
SAP Community, Martin Pankraz, Blog
XSUAA Based Authentication - Using Managed Approuter
SAP Community, rahul_rajagopal, BlogThe reasoningA recipe
Core changed
XSUAA Based Authentication - Using Standalone Approuter
SAP Community, rahul_rajagopal, BlogThe reasoningA recipe
SAP Build Process Automation – Use Principal Propagation in Actions sample: CAP Node.js Service
SAP Community, TJe, BlogThe reasoningA recipe
Core changed
SAP CAP JWT Token Flow in code
SAP Community, sandeepmalhotra, BlogThe reasoningRunnable code
Core changed
Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
SAP Community, mohit_bansal3, BlogThe reasoning
Part2: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
SAP Community, mohit_bansal3, part 2 of 3, BlogThe reasoning
Part 3: Architecting Complex Real Life Business Scenario on SAP BTP with ease [ Targeting Multiple backend S/4HANA Systems utilizing Principal Propagation ]
SAP Community, mohit_bansal3, part 3 of 3, BlogThe reasoningA recipe
Core changed
SAP Business Technology Platform: Authorization and Trust Management Service
SAP Community, SekhuteTK, Blog
Understanding security approaches in SAP CAP using XSUAA in node.js flavor and MTA.
SAP Community, balbinosoares, BlogThe reasoningA recipeRunnable code
Core changed
Evolving the identity lifecycle for an AI-first future
SAP TechEd — session catalogue, TalkThe reasoning
How SAP secures enterprise AI agents with identity propagation
SAP TechEd — session catalogue, Gunnar Kosche, TalkThe reasoning
SAP Business Technology Platform: Authorization and Trust Management Service
SAP Community, SekhuteTK, Blog
How to Access SAP Cloud Logging Service Dashboards Using IAS SAML Authentication
SAP Community, Umezuki, Blog
Secure Service Consumption Across Hyperscalers
SAP Architecture Center, SAP Architecture Center, Reference architectureThe reasoningA reference
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User ID
SAP Community, ivelinakiryakov, Blog
Show 5 more
Evolving the identity lifecycle for an AI-first future
SAP TechEd — session catalogue, TalkThe reasoning
How SAP secures enterprise AI agents with identity propagation
SAP TechEd — session catalogue, Gunnar Kosche, TalkThe reasoning
Road map: SAP Business AI Platform security and SAP Cloud Identity Services
SAP TechEd — session catalogue, TalkThe reasoning
What’s next for the core platform capabilities of SAP Business AI Platform
SAP TechEd — session catalogue, TalkThe reasoning
Use Free Tier to Subscribe to SAP Document AI Basic UI
SAP Developer Center, Juliana Morais, TutorialA recipe
SAP Business Technology Platform: Authorization and Trust Management Service
SAP Community, SekhuteTK, Blog
Why SAP Cloud Identity Matters for SAP Task Center: It’s About Trust and Global User ID
SAP Community, ivelinakiryakov, Blog

Seen working3

ArtifactSignals
Samples3
btp-ui5-show-userinfoUI5 app reading the signed-in user via launchpad and approuter
No license+1
teched2022-XP260TechEd 2022 session on SAP BTP security recommendations
none
teched2023-XP185vHands-on applying SAP BTP security recommendations to a trial account
none

Details

Coverage
Comparison properties3

These are the questions used to compare what the artifacts do. Values come from their documentation and may apply to a particular ecosystem or runtime. Each recorded value in the comparison opens its statement and sources.

Token with no userPasses the user onCorporate IdP behind it
For your agent
Ref
capability:authentication
JSON
/capabilities/authentication.json
MCP
Connecting an agent