cds-azure-ad
Azure AD and Azure AD B2C as a custom-defined authentication strategy for CAP through passport-azure-ad, implementing the hook capire documents so the application does not validate tokens itself.
Implements the hook capire documents for custom authentication, so a CAP service can accept tokens from an identity provider outside the SAP platform without the application handling validation itself.
Facts
Where it sits
Who is behind it
In the atlas: maintains 17, contributes to 59, wrote 2@gregorwolfSAP Mentors & FriendsSAP Mentors & FriendsMaintains this
In the atlas: maintains 3@sapmentorsmaintainersVolker BuzekContributes to this
In the atlas: maintains 7, contributes to 53, wrote 2@vobu1 contributor
Before choosing this
Conditions
LicenceSAP Developer License Agreement 3.2 CAP§ 1, 2, 3A cds-plugin is used with SAP CAP materials, or an artifact is explicitly identified as a CAP plugin or application.
- § 1 License. Productive customer applications are limited to SAP BTP or another SAP-licensed platform, and mass extraction to a non-SAP product is restricted except where solely required for SAP interoperability.
- § 2 Intellectual Property. The agreement retains SAP's rights in the covered materials and limits making APIs, tools or software available to third parties, while preserving ownership of customer applications subject to SAP's underlying rights.
- § 3 Artificial Intelligence Training. The agreement prohibits use of the covered materials and customer applications for training artificial-intelligence models or systems.
PracticalFunctional boundary
Last released January 2022 at 0.0.21, against a passport strategy Microsoft has since deprecated.
What it declares
Every artifact
- Type
- CDS plugin
- Origin
- Independently maintained
- Runtime
- Node.js
As a CDS plugin
- Distributed through
- npm
Connections
Establishing who is calling and making that identity available
Download
Install
npm add cds-azure-adDerived from the package name. No recipe recorded; the README has the configuration.
README
quoted from sapmentors/cds-azure-ad under MIT, read
cds-azure-ad - Azure AD and Azure AD B2C Custom-Defined Authentication for SAP CDS (CAP)
This package implements Azure AD and Azure AD B2C support of Custom-Defined Authentication for the SAP Cloud Application Programming Model (CAP). To achieve this, the packages uses passport-azure-ad - Microsoft Azure Active Directory Passport.js Plug-In.
usage in your CAP project
Add this package to your SAP Cloud Application Programming Model project by running:
npm install cds-azure-ad
Then add this configuration to the cds section of your package.json:
"cds": {
"requires": {
"auth": {
"impl": "cds-azure-ad"
}
}
}
The configuration for the passport-azure-ad BearerStrategy is provided via the following content in the file default-env.json the root folder of this project. The B2C tenant used here is the sample is a tenant provided by Microsoft which is used also for their examples. As this file might inlcude sensitive data it's not included in the git repository.
{
"VCAP_SERVICES": {
"xsuaa": [
{
"name": "cap-azure-ad-b2c-uaa",
"label": "azure-ad",
"tags": [
"azure-ad"
],
"plan": "space",
"credentials": {
"identityMetadata": "https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/B2C_1_SUSI/v2.0/.well-known/openid-configuration/",
"clientID": "e760cab2-b9a1-4c0d-86fb-ff7084abd902",
"policyName": "B2C_1_SUSI",
"isB2C": true,
"validateIssuer": true,
"loggingLevel": "warn",
"loggingNoPII": true,
"passReqToCallback": false
}
}
]
},
"destinations": []
}
Projects using cds-azure-ad
- cap-azure-ad-b2c – An example project with multiple deployment scenarios (SAP BTP Cloud Foundery, SAP BTP Kyma)
History
Others providing
Compare all 8 on the Authentication page →- SAP Authorization and Trust Management serviceSAP Authorization and Trust Management serviceThe OAuth server behind a BTP application: issues the JWT the app checks, holds the scopes and role collections it checks against, and brokers trust to an identity provider. Bound, never installed.sap official, btpOAuth server issuing JWTs and holding scopes for BTP apps
- Cloud Identity ServicesCloud Identity ServicesIdentity Authentication and Identity Provisioning as one tenant: the login, the user store or the federation to a corporate identity provider, and the provisioning of users into whatever sits behind it.sap official, btpIdentity Authentication and Identity Provisioning as one tenant
- com.sap.cds:cds-feature-identitycom.sap.cds:cds-feature-identityThe CAP Java feature that validates OAuth2 tokens from XSUAA and SAP Cloud Identity Services and builds the request's security context from them.sap official, capOAuth2 token validation from XSUAA and SAP Cloud Identity Services
- com.sap.cds:cds-feature-xsuaacom.sap.cds:cds-feature-xsuaaThe CAP Java feature that validated XSUAA-issued JWTs, published up to 2.10.7 before CAP Java 3.0 removed it in favour of com.sap.cds:cds-feature-identity.sap official, capFormer XSUAA JWT validation for CAP Java, removed in CAP Java 3.0
- @sap/cds@sap/cdsThe CAP Node.js runtime, which compiles the CDS model, serves the services declared in it, answers generic requests before any handler runs, and loads every cds-plugin.sap official, capCAP Node.js runtime
- @sap/xssec@sap/xssecToken validation and security context for XSUAA and IAS.sap official, capToken validation and security context for XSUAA and IAS
- cds-common-jwt-supportcds-common-jwt-supportJWT authentication for CAP without xsuaa or xssec, validating tokens with jose instead, for a service that authenticates against an identity provider other than XSUAA; last released in April 2022.independent, capJWT authentication for CAP without xsuaa or xssec
Details
Sources
Sources are graph entities: the same page may back several entries, and an unreachable source flags every row that rests on it.
Compatibility and provenance
Contributors
History in the atlas
- First seen.
For your agent
- Ref
artifact:sapmentors-cds-azure-ad- JSON
- /artifacts/sapmentors-cds-azure-ad.json
- MCP
- Connecting an agent