@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
@@ -1 +1 @@
1
- {"version":3,"file":"BaseTokenProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC;;;;;;;;GAQG;AACH,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAWzD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMzD;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO;IAyBjC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,eAAe;IAEjD;;;;;;;;OAQG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAyElC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC3E;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA0BlD;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA0BnE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAShE"}
1
+ {"version":3,"file":"BaseTokenProvider.d.ts","sourceRoot":"","sources":["../../src/providers/BaseTokenProvider.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EACV,cAAc,EACd,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D;;;;;;;;GAQG;AACH,8BAAsB,iBAAkB,YAAW,cAAc;IAC/D,SAAS,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACtC,SAAS,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAChC,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,QAAQ,CAAC;IAChD,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE3B;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;IAWzD;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAMzD;;;OAGG;IACH,SAAS,CAAC,YAAY,IAAI,OAAO;IAyBjC;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAExD;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;IAE1D;;;OAGG;IACH,SAAS,CAAC,QAAQ,CAAC,WAAW,IAAI,eAAe;IAEjD;;;;;;;;OAQG;IACG,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAyElC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoC3E;;;OAGG;IACH,SAAS,CAAC,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI;IA0BlD;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IA0BnE;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;CAShE"}
@@ -4,7 +4,7 @@
4
4
  * Uses client_credentials grant type for service-to-service authentication.
5
5
  * No browser required, no refresh token provided.
6
6
  */
7
- import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
7
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
8
8
  import { BaseTokenProvider } from './BaseTokenProvider';
9
9
  export interface ClientCredentialsProviderConfig {
10
10
  uaaUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"ClientCredentialsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ClientCredentialsProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,+BAA+B;IAuB7C,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAIxC,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAerC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAIxD"}
1
+ {"version":3,"file":"ClientCredentialsProvider.d.ts","sourceRoot":"","sources":["../../src/providers/ClientCredentialsProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC9C,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,+BAA+B;IAuB7C,SAAS,IAAI,OAAO,CAAC,YAAY,CAAC;IAIxC,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAerC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAIxD"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.ClientCredentialsProvider = void 0;
10
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
10
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
11
11
  const clientCredentialsAuth_1 = require("../auth/clientCredentialsAuth");
12
12
  const BaseTokenProvider_1 = require("./BaseTokenProvider");
13
13
  /**
@@ -42,14 +42,14 @@ class ClientCredentialsProvider extends BaseTokenProvider_1.BaseTokenProvider {
42
42
  return super.getTokens();
43
43
  }
44
44
  getAuthType() {
45
- return interfaces_1.AUTH_TYPE_CLIENT_CREDENTIALS;
45
+ return interfaces_auth_1.AUTH_TYPE_CLIENT_CREDENTIALS;
46
46
  }
47
47
  async performLogin() {
48
48
  const result = await (0, clientCredentialsAuth_1.getTokenWithClientCredentials)(this.config.uaaUrl, this.config.clientId, this.config.clientSecret);
49
49
  return {
50
50
  authorizationToken: result.accessToken,
51
51
  refreshToken: undefined, // client_credentials doesn't provide refresh token
52
- authType: interfaces_1.AUTH_TYPE_CLIENT_CREDENTIALS,
52
+ authType: interfaces_auth_1.AUTH_TYPE_CLIENT_CREDENTIALS,
53
53
  expiresIn: result.expiresIn,
54
54
  };
55
55
  }
@@ -4,7 +4,8 @@
4
4
  * Uses OAuth2 Device Flow for devices without browser or input capabilities.
5
5
  * User authorizes on another device by entering a code.
6
6
  */
7
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
7
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
8
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
8
9
  import { BaseTokenProvider } from './BaseTokenProvider';
9
10
  export interface DeviceFlowProviderConfig {
10
11
  uaaUrl: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DeviceFlowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/DeviceFlowProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAQlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,MAAM,CAA2B;gBAE7B,MAAM,EAAE,wBAAwB;IAc5C,SAAS,CAAC,WAAW,IAAI,eAAe;cAOxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAyCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CA2BxD"}
1
+ {"version":3,"file":"DeviceFlowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/DeviceFlowProvider.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAO9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;;;;GAKG;AACH,qBAAa,kBAAmB,SAAQ,iBAAiB;IACvD,OAAO,CAAC,MAAM,CAA2B;gBAE7B,MAAM,EAAE,wBAAwB;IAc5C,SAAS,CAAC,WAAW,IAAI,eAAe;cAOxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAyCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CA2BxD"}
@@ -7,7 +7,7 @@
7
7
  */
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.DeviceFlowProvider = void 0;
10
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
10
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
11
11
  const announce_1 = require("../auth/announce");
12
12
  const deviceFlowAuth_1 = require("../auth/deviceFlowAuth");
13
13
  const tokenRefresher_1 = require("../auth/tokenRefresher");
@@ -36,7 +36,7 @@ class DeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
36
36
  // Device Flow is not a standard grant type in OAuth2 spec
37
37
  // We'll use a custom type or map it to authorization_code
38
38
  // For now, using authorization_code as it's similar
39
- return interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE;
39
+ return interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE;
40
40
  }
41
41
  async performLogin() {
42
42
  // Initiate device flow
@@ -58,7 +58,7 @@ class DeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
58
58
  return {
59
59
  authorizationToken: result.accessToken,
60
60
  refreshToken: result.refreshToken,
61
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE, // Device flow maps to authorization_code
61
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE, // Device flow maps to authorization_code
62
62
  expiresIn,
63
63
  };
64
64
  }
@@ -73,7 +73,7 @@ class DeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
73
73
  return {
74
74
  authorizationToken: result.accessToken,
75
75
  refreshToken: result.refreshToken || this.refreshToken,
76
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE,
76
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE,
77
77
  expiresIn,
78
78
  };
79
79
  }
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * OIDC Authorization Code Provider (with PKCE)
3
3
  */
4
- import type { IAuthorizationStrategy, ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
4
+ import type { IAuthorizationStrategy, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
5
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
5
6
  import type { OidcCallbackResult } from '../auth/oidcBrowserAuth';
6
7
  import { BaseTokenProvider } from './BaseTokenProvider';
7
8
  export interface OidcBrowserProviderConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"OidcBrowserProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcBrowserProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAElC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAc7C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAyFrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAsCxD"}
1
+ {"version":3,"file":"OidcBrowserProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcBrowserProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,sBAAsB,EACtB,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAKlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wFAAwF;IACxF,aAAa,CAAC,EAAE,sBAAsB,CAAC,kBAAkB,CAAC,CAAC;IAC3D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAc7C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAyFrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAsCxD"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OidcBrowserProvider = void 0;
7
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
7
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
8
8
  const oidcDiscovery_1 = require("../auth/oidcDiscovery");
9
9
  const oidcPkce_1 = require("../auth/oidcPkce");
10
10
  const oidcToken_1 = require("../auth/oidcToken");
@@ -25,7 +25,7 @@ class OidcBrowserProvider extends BaseTokenProvider_1.BaseTokenProvider {
25
25
  }
26
26
  }
27
27
  getAuthType() {
28
- return interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE;
28
+ return interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE;
29
29
  }
30
30
  async performLogin() {
31
31
  // One memoised discovery per login, started on first use rather than up
@@ -87,7 +87,7 @@ class OidcBrowserProvider extends BaseTokenProvider_1.BaseTokenProvider {
87
87
  return {
88
88
  authorizationToken: tokens.accessToken,
89
89
  refreshToken: tokens.refreshToken,
90
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE,
90
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE,
91
91
  expiresIn: tokens.expiresIn,
92
92
  tokenType: 'jwt',
93
93
  };
@@ -114,7 +114,7 @@ class OidcBrowserProvider extends BaseTokenProvider_1.BaseTokenProvider {
114
114
  return {
115
115
  authorizationToken: tokens.accessToken,
116
116
  refreshToken: tokens.refreshToken || this.refreshToken,
117
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE,
117
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE_PKCE,
118
118
  expiresIn: tokens.expiresIn,
119
119
  tokenType: 'jwt',
120
120
  };
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * OIDC Device Flow Provider
3
3
  */
4
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
4
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
5
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
5
6
  import { BaseTokenProvider } from './BaseTokenProvider';
6
7
  export interface OidcDeviceFlowProviderConfig {
7
8
  issuerUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OidcDeviceFlowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcDeviceFlowProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,OAAO,CAAC,MAAM,CAA+B;gBAEjC,MAAM,EAAE,4BAA4B;IAchD,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAwErC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAqCxD"}
1
+ {"version":3,"file":"OidcDeviceFlowProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcDeviceFlowProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAQ9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,4BAA4B;IAC3C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,sBAAuB,SAAQ,iBAAiB;IAC3D,OAAO,CAAC,MAAM,CAA+B;gBAEjC,MAAM,EAAE,4BAA4B;IAchD,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAwErC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAqCxD"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OidcDeviceFlowProvider = void 0;
7
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
7
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
8
8
  const announce_1 = require("../auth/announce");
9
9
  const oidcDiscovery_1 = require("../auth/oidcDiscovery");
10
10
  const oidcToken_1 = require("../auth/oidcToken");
@@ -24,7 +24,7 @@ class OidcDeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
24
24
  }
25
25
  }
26
26
  getAuthType() {
27
- return interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE;
27
+ return interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE;
28
28
  }
29
29
  async performLogin() {
30
30
  if (!this.config.deviceAuthorizationEndpoint &&
@@ -65,7 +65,7 @@ class OidcDeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
65
65
  return {
66
66
  authorizationToken: tokens.accessToken,
67
67
  refreshToken: tokens.refreshToken,
68
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE,
68
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE,
69
69
  expiresIn: tokens.expiresIn,
70
70
  tokenType: 'jwt',
71
71
  };
@@ -92,7 +92,7 @@ class OidcDeviceFlowProvider extends BaseTokenProvider_1.BaseTokenProvider {
92
92
  return {
93
93
  authorizationToken: tokens.accessToken,
94
94
  refreshToken: tokens.refreshToken || this.refreshToken,
95
- authType: interfaces_1.AUTH_TYPE_AUTHORIZATION_CODE,
95
+ authType: interfaces_auth_1.AUTH_TYPE_AUTHORIZATION_CODE,
96
96
  expiresIn: tokens.expiresIn,
97
97
  tokenType: 'jwt',
98
98
  };
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * OIDC Password Grant Provider
3
3
  */
4
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
4
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
5
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
5
6
  import { BaseTokenProvider } from './BaseTokenProvider';
6
7
  export interface OidcPasswordProviderConfig {
7
8
  issuerUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OidcPasswordProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcPasswordProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,MAAM,CAA6B;gBAE/B,MAAM,EAAE,0BAA0B;IAc9C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAsCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAsCxD"}
1
+ {"version":3,"file":"OidcPasswordProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcPasswordProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,0BAA0B;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,OAAO,CAAC,MAAM,CAA6B;gBAE/B,MAAM,EAAE,0BAA0B;IAc9C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAsCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAsCxD"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OidcPasswordProvider = void 0;
7
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
7
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
8
8
  const oidcDiscovery_1 = require("../auth/oidcDiscovery");
9
9
  const oidcToken_1 = require("../auth/oidcToken");
10
10
  const BaseTokenProvider_1 = require("./BaseTokenProvider");
@@ -23,7 +23,7 @@ class OidcPasswordProvider extends BaseTokenProvider_1.BaseTokenProvider {
23
23
  }
24
24
  }
25
25
  getAuthType() {
26
- return interfaces_1.AUTH_TYPE_PASSWORD;
26
+ return interfaces_auth_1.AUTH_TYPE_PASSWORD;
27
27
  }
28
28
  async performLogin() {
29
29
  if (!this.config.tokenEndpoint && !this.config.issuerUrl) {
@@ -45,7 +45,7 @@ class OidcPasswordProvider extends BaseTokenProvider_1.BaseTokenProvider {
45
45
  return {
46
46
  authorizationToken: tokens.accessToken,
47
47
  refreshToken: tokens.refreshToken,
48
- authType: interfaces_1.AUTH_TYPE_PASSWORD,
48
+ authType: interfaces_auth_1.AUTH_TYPE_PASSWORD,
49
49
  expiresIn: tokens.expiresIn,
50
50
  tokenType: 'jwt',
51
51
  };
@@ -72,7 +72,7 @@ class OidcPasswordProvider extends BaseTokenProvider_1.BaseTokenProvider {
72
72
  return {
73
73
  authorizationToken: tokens.accessToken,
74
74
  refreshToken: tokens.refreshToken || this.refreshToken,
75
- authType: interfaces_1.AUTH_TYPE_PASSWORD,
75
+ authType: interfaces_auth_1.AUTH_TYPE_PASSWORD,
76
76
  expiresIn: tokens.expiresIn,
77
77
  tokenType: 'jwt',
78
78
  };
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * OIDC Token Exchange Provider
3
3
  */
4
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
4
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
5
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
5
6
  import { BaseTokenProvider } from './BaseTokenProvider';
6
7
  export interface OidcTokenExchangeProviderConfig {
7
8
  issuerUrl?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"OidcTokenExchangeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcTokenExchangeProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,+BAA+B;IAcnD,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAwCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAGxD"}
1
+ {"version":3,"file":"OidcTokenExchangeProvider.d.ts","sourceRoot":"","sources":["../../src/providers/OidcTokenExchangeProvider.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAG9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,MAAM,WAAW,+BAA+B;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,yBAA0B,SAAQ,iBAAiB;IAC9D,OAAO,CAAC,MAAM,CAAkC;gBAEpC,MAAM,EAAE,+BAA+B;IAcnD,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAwCrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAGxD"}
@@ -4,7 +4,7 @@
4
4
  */
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.OidcTokenExchangeProvider = void 0;
7
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
7
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
8
8
  const oidcDiscovery_1 = require("../auth/oidcDiscovery");
9
9
  const oidcToken_1 = require("../auth/oidcToken");
10
10
  const BaseTokenProvider_1 = require("./BaseTokenProvider");
@@ -23,7 +23,7 @@ class OidcTokenExchangeProvider extends BaseTokenProvider_1.BaseTokenProvider {
23
23
  }
24
24
  }
25
25
  getAuthType() {
26
- return interfaces_1.AUTH_TYPE_USER_TOKEN;
26
+ return interfaces_auth_1.AUTH_TYPE_USER_TOKEN;
27
27
  }
28
28
  async performLogin() {
29
29
  if (!this.config.tokenEndpoint && !this.config.issuerUrl) {
@@ -44,7 +44,7 @@ class OidcTokenExchangeProvider extends BaseTokenProvider_1.BaseTokenProvider {
44
44
  return {
45
45
  authorizationToken: tokens.accessToken,
46
46
  refreshToken: tokens.refreshToken,
47
- authType: interfaces_1.AUTH_TYPE_USER_TOKEN,
47
+ authType: interfaces_auth_1.AUTH_TYPE_USER_TOKEN,
48
48
  expiresIn: tokens.expiresIn,
49
49
  tokenType: 'jwt',
50
50
  };
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Exchanges SAMLResponse for OAuth2 access token.
5
5
  */
6
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
6
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
7
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
7
8
  import { BaseTokenProvider } from './BaseTokenProvider';
8
9
  import type { Saml2BearerExchangeConfig, Saml2CommonConfig } from './saml2Utils';
9
10
  export interface Saml2BearerProviderConfig extends Saml2CommonConfig, Saml2BearerExchangeConfig {
@@ -16,6 +17,11 @@ export declare class Saml2BearerProvider extends BaseTokenProvider {
16
17
  constructor(config: Saml2BearerProviderConfig);
17
18
  protected getAuthType(): OAuth2GrantType;
18
19
  protected performLogin(): Promise<ITokenResult>;
20
+ /**
21
+ * Spends the refresh token at the endpoint that issued it. A failure is
22
+ * thrown rather than handled: `BaseTokenProvider.getTokens()` drops the
23
+ * refresh token and falls back to `performLogin()`.
24
+ */
19
25
  protected performRefresh(): Promise<ITokenResult>;
20
26
  }
21
27
  //# sourceMappingURL=Saml2BearerProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Saml2BearerProvider.d.ts","sourceRoot":"","sources":["../../src/providers/Saml2BearerProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAOtB,MAAM,WAAW,yBACf,SAAQ,iBAAiB,EACvB,yBAAyB;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAiB7C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAoBrC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAMxD"}
1
+ {"version":3,"file":"Saml2BearerProvider.d.ts","sourceRoot":"","sources":["../../src/providers/Saml2BearerProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAK9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,yBAAyB,EACzB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AAOtB,MAAM,WAAW,yBACf,SAAQ,iBAAiB,EACvB,yBAAyB;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,mBAAoB,SAAQ,iBAAiB;IACxD,OAAO,CAAC,MAAM,CAA4B;gBAE9B,MAAM,EAAE,yBAAyB;IAiB7C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;IAoBrD;;;;OAIG;cACa,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAqBxD"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Saml2BearerProvider = void 0;
9
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
9
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
10
10
  const saml2TokenExchange_1 = require("../auth/saml2TokenExchange");
11
11
  const BaseTokenProvider_1 = require("./BaseTokenProvider");
12
12
  const saml2Utils_1 = require("./saml2Utils");
@@ -28,7 +28,7 @@ class Saml2BearerProvider extends BaseTokenProvider_1.BaseTokenProvider {
28
28
  }
29
29
  }
30
30
  getAuthType() {
31
- return interfaces_1.AUTH_TYPE_SAML2_BEARER;
31
+ return interfaces_auth_1.AUTH_TYPE_SAML2_BEARER;
32
32
  }
33
33
  async performLogin() {
34
34
  const samlResponse = await (0, saml2Utils_1.getSamlAssertion)(this.config);
@@ -37,16 +37,28 @@ class Saml2BearerProvider extends BaseTokenProvider_1.BaseTokenProvider {
37
37
  return {
38
38
  authorizationToken: tokens.accessToken,
39
39
  refreshToken: tokens.refreshToken,
40
- authType: interfaces_1.AUTH_TYPE_SAML2_BEARER,
40
+ authType: interfaces_auth_1.AUTH_TYPE_SAML2_BEARER,
41
41
  expiresIn: tokens.expiresIn,
42
42
  tokenType: 'jwt',
43
43
  };
44
44
  }
45
+ /**
46
+ * Spends the refresh token at the endpoint that issued it. A failure is
47
+ * thrown rather than handled: `BaseTokenProvider.getTokens()` drops the
48
+ * refresh token and falls back to `performLogin()`.
49
+ */
45
50
  async performRefresh() {
46
51
  if (!this.refreshToken) {
47
- return this.performLogin();
52
+ throw new Error('Refresh token is required for refresh');
48
53
  }
49
- return this.performLogin();
54
+ const tokens = await (0, saml2TokenExchange_1.refreshSamlBearerToken)(this.refreshToken, (0, saml2Utils_1.resolveTokenUrl)(this.config), this.config.clientId, this.config.clientSecret, this.logger);
55
+ return {
56
+ authorizationToken: tokens.accessToken,
57
+ refreshToken: tokens.refreshToken || this.refreshToken,
58
+ authType: interfaces_auth_1.AUTH_TYPE_SAML2_BEARER,
59
+ expiresIn: tokens.expiresIn,
60
+ tokenType: 'jwt',
61
+ };
50
62
  }
51
63
  }
52
64
  exports.Saml2BearerProvider = Saml2BearerProvider;
@@ -3,7 +3,8 @@
3
3
  *
4
4
  * Returns SAMLResponse as authorizationToken (non-JWT).
5
5
  */
6
- import type { ILogger, ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces';
6
+ import type { ITokenResult, OAuth2GrantType } from '@mcp-abap-adt/interfaces-auth';
7
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
7
8
  import { BaseTokenProvider } from './BaseTokenProvider';
8
9
  import type { Saml2CommonConfig } from './saml2Utils';
9
10
  export interface Saml2PureProviderConfig extends Saml2CommonConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"Saml2PureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/Saml2PureProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACZ,eAAe,EAChB,MAAM,0BAA0B,CAAC;AAGlC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,EAAE,uBAAuB;IAU3C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAarC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAGxD"}
1
+ {"version":3,"file":"Saml2PureProvider.d.ts","sourceRoot":"","sources":["../../src/providers/Saml2PureProvider.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,eAAe,EAChB,MAAM,+BAA+B,CAAC;AAEvC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAE9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGtD,MAAM,WAAW,uBAAwB,SAAQ,iBAAiB;IAChE,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D;AAED,qBAAa,iBAAkB,SAAQ,iBAAiB;IACtD,OAAO,CAAC,MAAM,CAA0B;gBAE5B,MAAM,EAAE,uBAAuB;IAU3C,SAAS,CAAC,WAAW,IAAI,eAAe;cAIxB,YAAY,IAAI,OAAO,CAAC,YAAY,CAAC;cAarC,cAAc,IAAI,OAAO,CAAC,YAAY,CAAC;CAGxD"}
@@ -6,7 +6,7 @@
6
6
  */
7
7
  Object.defineProperty(exports, "__esModule", { value: true });
8
8
  exports.Saml2PureProvider = void 0;
9
- const interfaces_1 = require("@mcp-abap-adt/interfaces");
9
+ const interfaces_auth_1 = require("@mcp-abap-adt/interfaces-auth");
10
10
  const saml2Auth_1 = require("../auth/saml2Auth");
11
11
  const BaseTokenProvider_1 = require("./BaseTokenProvider");
12
12
  const saml2Utils_1 = require("./saml2Utils");
@@ -22,7 +22,7 @@ class Saml2PureProvider extends BaseTokenProvider_1.BaseTokenProvider {
22
22
  this.tokenType = 'saml';
23
23
  }
24
24
  getAuthType() {
25
- return interfaces_1.AUTH_TYPE_USER_TOKEN;
25
+ return interfaces_auth_1.AUTH_TYPE_USER_TOKEN;
26
26
  }
27
27
  async performLogin() {
28
28
  const samlResponse = await (0, saml2Utils_1.getSamlAssertion)(this.config);
@@ -30,7 +30,7 @@ class Saml2PureProvider extends BaseTokenProvider_1.BaseTokenProvider {
30
30
  const sessionCookies = await this.config.cookieProvider(samlResponse);
31
31
  return {
32
32
  authorizationToken: sessionCookies,
33
- authType: interfaces_1.AUTH_TYPE_USER_TOKEN,
33
+ authType: interfaces_auth_1.AUTH_TYPE_USER_TOKEN,
34
34
  tokenType: 'saml',
35
35
  expiresAt,
36
36
  };
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * SAML2 provider shared helpers.
3
3
  */
4
- import type { IAuthorizationStrategy, ILogger } from '@mcp-abap-adt/interfaces';
4
+ import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces-auth';
5
+ import type { ILogger } from '@mcp-abap-adt/interfaces-utils';
5
6
  export interface Saml2CommonConfig {
6
7
  idpSsoUrl: string;
7
8
  spEntityId: string;
@@ -1 +1 @@
1
- {"version":3,"file":"saml2Utils.d.ts","sourceRoot":"","sources":["../../src/providers/saml2Utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIhF,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,aAAa,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAOlE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAQzE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,MAAM,CAAC,CA+CjB"}
1
+ {"version":3,"file":"saml2Utils.d.ts","sourceRoot":"","sources":["../../src/providers/saml2Utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAI9D,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oEAAoE;IACpE,aAAa,CAAC,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,gEAAgE;AAChE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAOlE;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,yBAAyB,GAAG,MAAM,CAQzE;AAED,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,MAAM,CAAC,CA+CjB"}
@@ -1,4 +1,4 @@
1
- import type { ITokenProvider } from '@mcp-abap-adt/interfaces';
1
+ import type { ITokenProvider } from '@mcp-abap-adt/interfaces-auth';
2
2
  import type { SsoProviderConfig } from './types';
3
3
  export declare class SsoProviderFactory {
4
4
  static create(config: SsoProviderConfig): ITokenProvider;
@@ -1 +1 @@
1
- {"version":3,"file":"SsoProviderFactory.d.ts","sourceRoot":"","sources":["../../src/sso/SsoProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAO/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc;CA6BzD"}
1
+ {"version":3,"file":"SsoProviderFactory.d.ts","sourceRoot":"","sources":["../../src/sso/SsoProviderFactory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAOpE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD,qBAAa,kBAAkB;IAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,cAAc;CA6BzD"}
@@ -1,4 +1,4 @@
1
- import type { ITokenProvider } from '@mcp-abap-adt/interfaces';
1
+ import type { ITokenProvider } from '@mcp-abap-adt/interfaces-auth';
2
2
  import type { OidcBrowserProviderConfig } from '../providers/OidcBrowserProvider';
3
3
  import type { OidcDeviceFlowProviderConfig } from '../providers/OidcDeviceFlowProvider';
4
4
  import type { OidcPasswordProviderConfig } from '../providers/OidcPasswordProvider';
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sso/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,yBAAyB,CAAC;CACnC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,4BAA4B,CAAC;CACtC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,+BAA+B,CAAC;CACzC,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,yBAAyB,CAAC;CACnC,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/sso/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,qCAAqC,CAAC;AACxF,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAC9F,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAClF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AAE9E,MAAM,MAAM,mBAAmB,GAAG,cAAc,CAAC;AAEjD,MAAM,MAAM,iBAAiB,GACzB;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,SAAS,CAAC;IAChB,MAAM,EAAE,yBAAyB,CAAC;CACnC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,4BAA4B,CAAC;CACtC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,UAAU,CAAC;IACjB,MAAM,EAAE,0BAA0B,CAAC;CACpC,GACD;IACE,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,+BAA+B,CAAC;CACzC,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,yBAAyB,CAAC;CACnC,GACD;IACE,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,uBAAuB,CAAC;CACjC,CAAC"}
@@ -6,7 +6,7 @@
6
6
  * an HTTP server can pass its own `CallbackServerFactory` and keep everything
7
7
  * else here.
8
8
  */
9
- import type { AuthorizationOutcome, AuthorizationRequest, CallbackServerFactory, IAuthorizationStrategy } from '@mcp-abap-adt/interfaces';
9
+ import type { AuthorizationOutcome, AuthorizationRequest, CallbackServerFactory, IAuthorizationStrategy } from '@mcp-abap-adt/interfaces-auth';
10
10
  import type { OidcCallbackResult } from '../auth/oidcBrowserAuth';
11
11
  /**
12
12
  * Above Linux's `ip_local_port_range` (32768–60999), so an outbound connection
@@ -1 +1 @@
1
- {"version":3,"file":"BrowserCallbackStrategy.d.ts","sourceRoot":"","sources":["../../src/strategies/BrowserCallbackStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAIlC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,uBAAuB,CAAC,OAAO,GAAG,MAAM;IACvD,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,wFAAwF;IACxF,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B,CAAC,OAAO,CACrD,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IACxC,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;CAChD;AAwBD,qBAAa,uBAAuB,CAAC,OAAO,CAC1C,YAAW,sBAAsB,CAAC,OAAO,CAAC;IAOxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAuD;IACvE,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,QAAQ,CAAS;gBAGN,OAAO,EAAE,8BAA8B,CAAC,OAAO,CAAC;IAG7D,SAAS,CACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IA8FzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAyBD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,uBAAuB,CAAC,MAAM,CAAM,GAC5C,sBAAsB,CAAC,MAAM,CAAC,CAWhC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,uBAAuB,CAAC,kBAAkB,CAAM,GACxD,sBAAsB,CAAC,kBAAkB,CAAC,CAK5C;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,uBAAuB,CAAC,MAAM,CAAM,GAC5C,sBAAsB,CAAC,MAAM,CAAC,CAKhC"}
1
+ {"version":3,"file":"BrowserCallbackStrategy.d.ts","sourceRoot":"","sources":["../../src/strategies/BrowserCallbackStrategy.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EACV,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAIvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAIlE;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAQ,CAAC;AAE3C,+DAA+D;AAC/D,eAAO,MAAM,wBAAwB,QAAS,CAAC;AAE/C,MAAM,WAAW,uBAAuB,CAAC,OAAO,GAAG,MAAM;IACvD,gFAAgF;IAChF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mFAAmF;IACnF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAChD,wFAAwF;IACxF,OAAO,CAAC,EAAE,CACR,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,KAChB,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,MAAM,CAAC;IAC7C,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAED,MAAM,WAAW,8BAA8B,CAAC,OAAO,CACrD,SAAQ,uBAAuB,CAAC,OAAO,CAAC;IACxC,cAAc,EAAE,qBAAqB,CAAC,OAAO,CAAC,CAAC;CAChD;AAwBD,qBAAa,uBAAuB,CAAC,OAAO,CAC1C,YAAW,sBAAsB,CAAC,OAAO,CAAC;IAOxC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAuD;IACvE,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,QAAQ,CAAS;gBAGN,OAAO,EAAE,8BAA8B,CAAC,OAAO,CAAC;IAG7D,SAAS,CACb,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAAC;IA8FzC;;;OAGG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;CAM/B;AAyBD,wBAAgB,uBAAuB,CACrC,OAAO,GAAE,uBAAuB,CAAC,MAAM,CAAM,GAC5C,sBAAsB,CAAC,MAAM,CAAC,CAWhC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,uBAAuB,CAAC,kBAAkB,CAAM,GACxD,sBAAsB,CAAC,kBAAkB,CAAC,CAK5C;AAED,wBAAgB,oBAAoB,CAClC,OAAO,GAAE,uBAAuB,CAAC,MAAM,CAAM,GAC5C,sBAAsB,CAAC,MAAM,CAAC,CAKhC"}
@@ -5,7 +5,7 @@
5
5
  * carries `state` beside the code. Rather than an OIDC twin of every strategy,
6
6
  * the mismatch is bridged in one place.
7
7
  */
8
- import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces';
8
+ import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces-auth';
9
9
  import type { OidcCallbackResult } from '../auth/oidcBrowserAuth';
10
10
  export declare function asOidcResult(inner: IAuthorizationStrategy<string>): IAuthorizationStrategy<OidcCallbackResult>;
11
11
  //# sourceMappingURL=asOidcResult.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asOidcResult.d.ts","sourceRoot":"","sources":["../../src/strategies/asOidcResult.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACpC,sBAAsB,CAAC,kBAAkB,CAAC,CAqB5C"}
1
+ {"version":3,"file":"asOidcResult.d.ts","sourceRoot":"","sources":["../../src/strategies/asOidcResult.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAElE,wBAAgB,YAAY,CAC1B,KAAK,EAAE,sBAAsB,CAAC,MAAM,CAAC,GACpC,sBAAsB,CAAC,kBAAkB,CAAC,CAqB5C"}
@@ -5,7 +5,7 @@
5
5
  * does not — and asking for a URL that is not needed would drag in OIDC
6
6
  * discovery that a static payload never required.
7
7
  */
8
- import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces';
8
+ import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces-auth';
9
9
  export interface ExternalCodeStrategyOptions {
10
10
  redirectUri?: string;
11
11
  /** Receives the assembled URL — so the code returned matches its PKCE challenge. */
@@ -1 +1 @@
1
- {"version":3,"file":"codeStrategies.d.ts","sourceRoot":"","sources":["../../src/strategies/codeStrategies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAMlC,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,OAAO,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,MAAM,CAAC,CAchC;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,sBAAsB,CAAC,MAAM,CAAC,CAUhC"}
1
+ {"version":3,"file":"codeStrategies.d.ts","sourceRoot":"","sources":["../../src/strategies/codeStrategies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAMvC,MAAM,WAAW,2BAA2B;IAC1C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oFAAoF;IACpF,OAAO,EAAE,CAAC,gBAAgB,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,yBAAyB;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,+EAA+E;AAC/E,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,2BAA2B,GACnC,sBAAsB,CAAC,MAAM,CAAC,CAchC;AAED,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,yBAAyB,GACjC,sBAAsB,CAAC,MAAM,CAAC,CAUhC"}
@@ -6,7 +6,7 @@
6
6
  * not — our `AuthnRequest` declares the HTTP-POST binding, so the IdP posts it
7
7
  * in a form body and the user must lift it from there.
8
8
  */
9
- import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces';
9
+ import type { IAuthorizationStrategy } from '@mcp-abap-adt/interfaces-auth';
10
10
  export interface ManualStrategyOptions {
11
11
  /** Must match what the authorization request advertises and the exchange sends. */
12
12
  redirectUri?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"manualStrategies.d.ts","sourceRoot":"","sources":["../../src/strategies/manualStrategies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,0BAA0B,CAAC;AAIlC,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAiCD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAAC,MAAM,CAAC,CAmBhC;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAAC,MAAM,CAAC,CAiBhC"}
1
+ {"version":3,"file":"manualStrategies.d.ts","sourceRoot":"","sources":["../../src/strategies/manualStrategies.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAGV,sBAAsB,EACvB,MAAM,+BAA+B,CAAC;AAIvC,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gFAAgF;IAChF,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5C;AAiCD,4EAA4E;AAC5E,wBAAgB,mBAAmB,CACjC,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAAC,MAAM,CAAC,CAmBhC;AAED,mFAAmF;AACnF,wBAAgB,0BAA0B,CACxC,OAAO,GAAE,qBAA0B,GAClC,sBAAsB,CAAC,MAAM,CAAC,CAiBhC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcp-abap-adt/auth-providers",
3
- "version": "2.0.0",
3
+ "version": "2.2.1",
4
4
  "description": "Token providers for MCP ABAP ADT auth-broker",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -9,7 +9,8 @@
9
9
  "bin",
10
10
  "README.md",
11
11
  "CHANGELOG.md",
12
- "LICENSE"
12
+ "LICENSE",
13
+ "COPYING"
13
14
  ],
14
15
  "keywords": [
15
16
  "abap",
@@ -25,7 +26,7 @@
25
26
  "abap-adt"
26
27
  ],
27
28
  "author": "Oleksii Kyslytsia <oleksij.kyslytsja@gmail.com>",
28
- "license": "MIT",
29
+ "license": "LGPL-3.0-only",
29
30
  "homepage": "https://github.com/fr0ster/mcp-abap-adt-auth-providers#readme",
30
31
  "bugs": {
31
32
  "url": "https://github.com/fr0ster/mcp-abap-adt-auth-providers/issues"
@@ -58,7 +59,9 @@
58
59
  "node": ">=18.2.0"
59
60
  },
60
61
  "dependencies": {
61
- "@mcp-abap-adt/interfaces": "^11.6.0",
62
+ "@mcp-abap-adt/interfaces-auth": "^1.2.0",
63
+ "@mcp-abap-adt/interfaces-auth-sap": "^1.0.0",
64
+ "@mcp-abap-adt/interfaces-utils": "^1.1.0",
62
65
  "axios": "^1.13.5",
63
66
  "express": "^5.1.0",
64
67
  "open": "^11.0.0"
@@ -67,7 +70,7 @@
67
70
  "@biomejs/biome": "^2.3.14",
68
71
  "@jest/globals": "^30.2.0",
69
72
  "@mcp-abap-adt/auth-stores": "^1.0.1",
70
- "@mcp-abap-adt/logger": "^0.1.4",
73
+ "@mcp-abap-adt/logger": "^0.4.0",
71
74
  "@types/express": "^5.0.5",
72
75
  "@types/jest": "^30.0.0",
73
76
  "@types/js-yaml": "^4.0.9",