@mcp-abap-adt/interfaces-auth-broker 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,61 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [1.0.0] - 2026-10-01
11
+
12
+ ### Added
13
+
14
+ - **The package — the broker's port: the destination and the stores that hold
15
+ it.** Six types, moved from `@mcp-abap-adt/interfaces-auth-sap`:
16
+ `IConnectionConfig`, `DestinationGrant`, `IConfig`, `ISessionStore`,
17
+ `IServiceKeyStore`, `ITokenProviderResult`. Same names; the shapes are those
18
+ of `interfaces-auth-sap` 1.1.0, plus what its 1.2.0 added and never published
19
+ — listed below. Decision 41.
20
+
21
+ **Why a package of its own.** `interfaces-auth-sap` held two subjects: the
22
+ SAP system and its UAA client, which providers, the connection and the ADT
23
+ clients take; and the destination with its storage, which only the stores,
24
+ the broker and the servers that build a broker import. The broker states what
25
+ it needs from a destination and the stores implement it; a contract lives in
26
+ the package whose subject its own fields name (decision 35).
27
+
28
+ - **`DestinationGrant`** (new since `interfaces-auth-sap` 1.1.0) — how a
29
+ destination obtains a new credential: `authorization_code`,
30
+ `client_credentials`, `passcode` (UAA), `oidc_authorization_code`,
31
+ `device_code`, `password`, `token_exchange` (OIDC), `saml2_pure`,
32
+ `saml2_bearer` (SAML), or `none` (handed over, not renewed). Not
33
+ `OAuth2GrantType` from `interfaces-auth`: that lists OAuth grants on the
34
+ wire, this the ways a destination is renewed, which include a UAA passcode,
35
+ SAML session cookies and no renewal. Beside `IConnectionConfig` because it
36
+ has no meaning apart from it (decision 35).
37
+ - **On `IConnectionConfig`, all optional** (new since `interfaces-auth-sap`
38
+ 1.1.0):
39
+ - `grantType?: DestinationGrant` — so a consumer builds the provider the
40
+ destination states instead of inferring it;
41
+ - `expiresAt?: number` (epoch ms) — when the stored credential stops being
42
+ valid; session cookies carry no expiry of their own;
43
+ - OIDC settings: `oidcIssuerUrl`, `oidcAuthorizationEndpoint`,
44
+ `oidcTokenEndpoint`, `oidcDeviceAuthorizationEndpoint`, `oidcScopes`, and
45
+ for token exchange `oidcSubjectToken`, `oidcSubjectTokenType`,
46
+ `oidcAudience`, `oidcActorToken`, `oidcActorTokenType`;
47
+ - the SAML IdP's trust and endpoints: `samlIdpSsoUrl`, `samlIdpEntityId`,
48
+ `samlIdpCertificates`, `samlSpEntityId`, `samlAcsUrl`, `samlRelayState`,
49
+ `samlIdpInitiated`, `samlClockSkewMs`, `samlTokenUrl`.
50
+
51
+ On `IConnectionConfig` rather than `IAuthorizationConfig`, which requires
52
+ `uaaClientSecret`: a public OIDC client, an IdP's trust and a grant exist
53
+ without a client secret. For `@mcp-abap-adt/auth-broker` 4.0.0 (its design
54
+ spec, §1.1).
55
+
56
+ ### Dependencies
57
+
58
+ - **`@mcp-abap-adt/interfaces-auth-sap` `^2.0.0`, and nothing else**, for
59
+ `IAuthorizationConfig`: `IConfig` composes it, and both stores return it.
60
+ Imported, not re-exported (decision 34). `interfaces-auth` and
61
+ `interfaces-utils` arrive through it.