@mcp-abap-adt/auth-providers 2.0.0 → 2.2.1

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.
Files changed (70) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/COPYING +674 -0
  3. package/LICENSE +160 -17
  4. package/README.md +39 -7
  5. package/dist/__tests__/helpers/testLogger.d.ts +1 -1
  6. package/dist/__tests__/helpers/testLogger.d.ts.map +1 -1
  7. package/dist/auth/announce.d.ts +1 -1
  8. package/dist/auth/announce.d.ts.map +1 -1
  9. package/dist/auth/browserAuth.d.ts +2 -1
  10. package/dist/auth/browserAuth.d.ts.map +1 -1
  11. package/dist/auth/callbackServer.d.ts +1 -1
  12. package/dist/auth/callbackServer.d.ts.map +1 -1
  13. package/dist/auth/deviceFlowAuth.d.ts +1 -1
  14. package/dist/auth/deviceFlowAuth.d.ts.map +1 -1
  15. package/dist/auth/oidcBrowserAuth.d.ts +1 -1
  16. package/dist/auth/oidcBrowserAuth.d.ts.map +1 -1
  17. package/dist/auth/oidcDiscovery.d.ts +1 -1
  18. package/dist/auth/oidcDiscovery.d.ts.map +1 -1
  19. package/dist/auth/oidcToken.d.ts +1 -1
  20. package/dist/auth/oidcToken.d.ts.map +1 -1
  21. package/dist/auth/saml2Auth.d.ts +1 -1
  22. package/dist/auth/saml2Auth.d.ts.map +1 -1
  23. package/dist/auth/saml2TokenExchange.d.ts +9 -1
  24. package/dist/auth/saml2TokenExchange.d.ts.map +1 -1
  25. package/dist/auth/saml2TokenExchange.js +46 -0
  26. package/dist/errors/TokenProviderErrors.js +6 -6
  27. package/dist/providers/AuthorizationCodeProvider.d.ts +2 -1
  28. package/dist/providers/AuthorizationCodeProvider.d.ts.map +1 -1
  29. package/dist/providers/AuthorizationCodeProvider.js +4 -4
  30. package/dist/providers/BaseTokenProvider.d.ts +2 -1
  31. package/dist/providers/BaseTokenProvider.d.ts.map +1 -1
  32. package/dist/providers/ClientCredentialsProvider.d.ts +1 -1
  33. package/dist/providers/ClientCredentialsProvider.d.ts.map +1 -1
  34. package/dist/providers/ClientCredentialsProvider.js +3 -3
  35. package/dist/providers/DeviceFlowProvider.d.ts +2 -1
  36. package/dist/providers/DeviceFlowProvider.d.ts.map +1 -1
  37. package/dist/providers/DeviceFlowProvider.js +4 -4
  38. package/dist/providers/OidcBrowserProvider.d.ts +2 -1
  39. package/dist/providers/OidcBrowserProvider.d.ts.map +1 -1
  40. package/dist/providers/OidcBrowserProvider.js +4 -4
  41. package/dist/providers/OidcDeviceFlowProvider.d.ts +2 -1
  42. package/dist/providers/OidcDeviceFlowProvider.d.ts.map +1 -1
  43. package/dist/providers/OidcDeviceFlowProvider.js +4 -4
  44. package/dist/providers/OidcPasswordProvider.d.ts +2 -1
  45. package/dist/providers/OidcPasswordProvider.d.ts.map +1 -1
  46. package/dist/providers/OidcPasswordProvider.js +4 -4
  47. package/dist/providers/OidcTokenExchangeProvider.d.ts +2 -1
  48. package/dist/providers/OidcTokenExchangeProvider.d.ts.map +1 -1
  49. package/dist/providers/OidcTokenExchangeProvider.js +3 -3
  50. package/dist/providers/Saml2BearerProvider.d.ts +7 -1
  51. package/dist/providers/Saml2BearerProvider.d.ts.map +1 -1
  52. package/dist/providers/Saml2BearerProvider.js +17 -5
  53. package/dist/providers/Saml2PureProvider.d.ts +2 -1
  54. package/dist/providers/Saml2PureProvider.d.ts.map +1 -1
  55. package/dist/providers/Saml2PureProvider.js +3 -3
  56. package/dist/providers/saml2Utils.d.ts +2 -1
  57. package/dist/providers/saml2Utils.d.ts.map +1 -1
  58. package/dist/sso/SsoProviderFactory.d.ts +1 -1
  59. package/dist/sso/SsoProviderFactory.d.ts.map +1 -1
  60. package/dist/sso/types.d.ts +1 -1
  61. package/dist/sso/types.d.ts.map +1 -1
  62. package/dist/strategies/BrowserCallbackStrategy.d.ts +1 -1
  63. package/dist/strategies/BrowserCallbackStrategy.d.ts.map +1 -1
  64. package/dist/strategies/asOidcResult.d.ts +1 -1
  65. package/dist/strategies/asOidcResult.d.ts.map +1 -1
  66. package/dist/strategies/codeStrategies.d.ts +1 -1
  67. package/dist/strategies/codeStrategies.d.ts.map +1 -1
  68. package/dist/strategies/manualStrategies.d.ts +1 -1
  69. package/dist/strategies/manualStrategies.d.ts.map +1 -1
  70. package/package.json +8 -5
package/CHANGELOG.md CHANGED
@@ -7,6 +7,57 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [2.2.1] - 2026-09-24
11
+
12
+ ### Fixed
13
+
14
+ - **`Saml2BearerProvider` spends its refresh token** (#23). `performRefresh()`
15
+ used to run a full interactive login on both of its branches, so a session
16
+ holding a valid refresh token still went through the IdP and a browser — and
17
+ a headless consumer got `BROWSER_AUTH_REQUIRED` from `auth-broker`. It now
18
+ sends a `refresh_token` grant to the same token endpoint and with the same
19
+ client credentials as the assertion exchange, keeps the refresh token it spent
20
+ when the response carries no new one, and falls back to a full login when the
21
+ grant is refused.
22
+
23
+ ## [2.2.0] - 2026-09-24
24
+
25
+ ### Dependencies
26
+
27
+ - **`@mcp-abap-adt/interfaces` is replaced by the contract packages this
28
+ package actually uses.** The facade is deleted upstream; 51.0.0 is its last
29
+ version. The contracts now come from:
30
+ - `@mcp-abap-adt/interfaces-auth` `^1.2.0` — `ITokenProvider`, `ITokenResult`,
31
+ `IAuthorizationStrategy`, the callback server types, `AUTH_TYPE_*` and
32
+ `TOKEN_PROVIDER_ERROR_CODES`;
33
+ - `@mcp-abap-adt/interfaces-auth-sap` `^1.0.0` — `IAuthorizationConfig`;
34
+ - `@mcp-abap-adt/interfaces-utils` `^1.1.0` — `ILogger`.
35
+
36
+ No export of this package changed. A consumer that imports these types itself
37
+ should import them from the same packages, not from the facade.
38
+ - `@mcp-abap-adt/logger` (dev) `^0.4.0`, which is on `interfaces-utils` as well.
39
+
40
+ ## [2.1.0] - 2026-09-03
41
+
42
+ ### Licence
43
+
44
+ - **This package is now `LGPL-3.0-only`.** It was MIT up to and including 2.0.0, and
45
+ those versions stay MIT — a licence change is not retroactive, and anyone
46
+ already using 2.0.0 under MIT keeps that grant for 2.0.0.
47
+
48
+ The library licence of the GNU family, chosen for what it does *not* ask:
49
+ linking it into your own program — importing it, as every consumer of an npm
50
+ package does — does not put your program under the LGPL. What it asks is that
51
+ changes to this library stay free and that your users can substitute their own
52
+ build of it.
53
+
54
+ Both texts ship in the package: `LICENSE` is the LGPL, `COPYING` is the GPL it
55
+ is written on top of. The LGPL is a set of additional permissions over the GPL,
56
+ so it cannot be read without both.
57
+
58
+ Copyright © 2025–2026 Oleksii Kyslytsia.
59
+
60
+
10
61
  ## [2.0.0] - 2026-07-31
11
62
 
12
63
  Callback reception leaves the providers. How an interactive login is conducted —