@sap-cloud-sdk/connectivity 3.0.3-20230327075726.0 → 3.1.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.
Files changed (27) hide show
  1. package/dist/scp-cf/authorization-header.d.ts +0 -11
  2. package/dist/scp-cf/authorization-header.js +9 -9
  3. package/dist/scp-cf/authorization-header.js.map +1 -1
  4. package/dist/scp-cf/connectivity-service.d.ts +3 -3
  5. package/dist/scp-cf/connectivity-service.js +6 -6
  6. package/dist/scp-cf/connectivity-service.js.map +1 -1
  7. package/dist/scp-cf/destination/destination-accessor.js +4 -3
  8. package/dist/scp-cf/destination/destination-accessor.js.map +1 -1
  9. package/dist/scp-cf/destination/destination-cache.d.ts +6 -5
  10. package/dist/scp-cf/destination/destination-cache.js +40 -12
  11. package/dist/scp-cf/destination/destination-cache.js.map +1 -1
  12. package/dist/scp-cf/destination/destination-from-service.d.ts +3 -46
  13. package/dist/scp-cf/destination/destination-from-service.js +26 -81
  14. package/dist/scp-cf/destination/destination-from-service.js.map +1 -1
  15. package/dist/scp-cf/destination/get-provider-token.d.ts +6 -0
  16. package/dist/scp-cf/destination/get-provider-token.js +16 -0
  17. package/dist/scp-cf/destination/get-provider-token.js.map +1 -0
  18. package/dist/scp-cf/destination/get-subscriber-token.d.ts +63 -0
  19. package/dist/scp-cf/destination/get-subscriber-token.js +120 -0
  20. package/dist/scp-cf/destination/get-subscriber-token.js.map +1 -0
  21. package/dist/scp-cf/destination/index.d.ts +2 -0
  22. package/dist/scp-cf/destination/index.js +2 -0
  23. package/dist/scp-cf/destination/index.js.map +1 -1
  24. package/dist/scp-cf/identity-service.js +1 -1
  25. package/dist/scp-cf/jwt.js +2 -4
  26. package/dist/scp-cf/jwt.js.map +1 -1
  27. package/package.json +5 -5
@@ -32,17 +32,6 @@ interface AuthenticationHeaders {
32
32
  'Proxy-Authorization'?: string;
33
33
  'SAP-Connectivity-Authentication'?: string;
34
34
  }
35
- interface AuthenticationHeaderCloud {
36
- authorization: string;
37
- }
38
- interface AuthenticationHeaderOnPrem {
39
- 'SAP-Connectivity-Authentication': string;
40
- }
41
- interface AuthenticationHeaders {
42
- authorization?: string;
43
- 'Proxy-Authorization'?: string;
44
- 'SAP-Connectivity-Authentication'?: string;
45
- }
46
35
  /**
47
36
  * @param destination - Destination from which headers are build
48
37
  * @param customAuthHeader - Additional custom headers
@@ -82,20 +82,13 @@ function headerForPrincipalPropagation(destination) {
82
82
  'SAP-Connectivity-Authentication': principalPropagationHeader
83
83
  };
84
84
  }
85
- function headerForProxy(destination) {
85
+ function getProxyRelatedAuthHeaders(destination) {
86
+ // The connectivity service will raise an exception if it can not obtain the 'Proxy-Authorization' and the destination lookup will fail early
86
87
  const authHeader = destination?.proxyConfiguration?.headers?.['Proxy-Authorization'];
87
88
  if (authHeader) {
88
89
  return { 'Proxy-Authorization': authHeader };
89
90
  }
90
91
  }
91
- function getProxyRelatedAuthHeaders(destination) {
92
- if (destination.proxyType === 'OnPremise' &&
93
- destination.authentication === 'NoAuthentication') {
94
- throw Error('OnPremise connections are not possible with NoAuthentication. Please select a supported authentication method e.g. PrincipalPropagation or BasicAuthentication.');
95
- }
96
- // The connectivity service will raise an exception if it can not obtain the 'Proxy-Authorization' and the destination lookup will fail early
97
- return headerForProxy(destination);
98
- }
99
92
  async function getAuthenticationRelatedHeaders(destination) {
100
93
  const destinationAuthHeaders = getAuthHeader(destination.authentication, destination.headers);
101
94
  logger.debug(`Getting authentication related headers for authentication type: ${destination.authentication}`);
@@ -109,6 +102,13 @@ async function getAuthenticationRelatedHeaders(destination) {
109
102
  logger.warn('No authentication type is specified on the destination! Assuming "NoAuthentication".');
110
103
  return;
111
104
  case 'NoAuthentication':
105
+ try {
106
+ return headerForPrincipalPropagation(destination);
107
+ }
108
+ catch (e) {
109
+ logger.debug('No principal propagation header found.');
110
+ return;
111
+ }
112
112
  case 'ClientCertificateAuthentication':
113
113
  return;
114
114
  case 'SAMLAssertion':
@@ -1 +1 @@
1
- {"version":3,"file":"authorization-header.js","sourceRoot":"","sources":["../../src/scp-cf/authorization-header.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"authorization-header.js","sourceRoot":"","sources":["../../src/scp-cf/authorization-header.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,14 @@
1
1
  import { Protocol } from './protocol';
2
2
  import { ProxyConfiguration } from './connectivity-service-types';
3
3
  import { Destination } from './destination/destination-service-types';
4
- import { JwtPair } from './jwt';
4
+ import { SubscriberToken } from './destination';
5
5
  /**
6
6
  * @internal
7
7
  * @param destination - Destination which is extended
8
- * @param jwt - The user jwt
8
+ * @param subscriberToken - The user and service token
9
9
  * @returns Destination containing the proxy config
10
10
  */
11
- export declare function addProxyConfigurationOnPrem(destination: Destination, jwt?: JwtPair): Promise<Destination>;
11
+ export declare function addProxyConfigurationOnPrem(destination: Destination, subscriberToken?: Required<SubscriberToken>): Promise<Destination>;
12
12
  interface HostAndPort {
13
13
  host: string;
14
14
  port: number;
@@ -11,10 +11,10 @@ const logger = (0, util_1.createLogger)({
11
11
  /**
12
12
  * @internal
13
13
  * @param destination - Destination which is extended
14
- * @param jwt - The user jwt
14
+ * @param subscriberToken - The user and service token
15
15
  * @returns Destination containing the proxy config
16
16
  */
17
- async function addProxyConfigurationOnPrem(destination, jwt) {
17
+ async function addProxyConfigurationOnPrem(destination, subscriberToken) {
18
18
  if (destination.type === 'MAIL') {
19
19
  return {
20
20
  ...destination,
@@ -24,7 +24,7 @@ async function addProxyConfigurationOnPrem(destination, jwt) {
24
24
  const proxyConfiguration = {
25
25
  ...httpProxyHostAndPort(),
26
26
  headers: {
27
- ...(await proxyHeaders(destination.authentication, jwt?.encoded))
27
+ ...(await proxyHeaders(destination.authentication, subscriberToken))
28
28
  }
29
29
  };
30
30
  return { ...destination, proxyConfiguration };
@@ -69,9 +69,9 @@ function readConnectivityServiceBinding() {
69
69
  }
70
70
  return serviceBindings[0];
71
71
  }
72
- async function proxyHeaders(authenticationType, jwt) {
73
- const proxyAuthHeader = await proxyAuthorizationHeader(jwt);
74
- const sapConnectivityHeader = sapConnectivityAuthenticationHeader(authenticationType, jwt);
72
+ async function proxyHeaders(authenticationType, subscriberToken) {
73
+ const proxyAuthHeader = await proxyAuthorizationHeader(subscriberToken?.serviceJwt.encoded);
74
+ const sapConnectivityHeader = sapConnectivityAuthenticationHeader(authenticationType, subscriberToken?.userJwt.encoded);
75
75
  return {
76
76
  ...proxyAuthHeader,
77
77
  ...sapConnectivityHeader
@@ -1 +1 @@
1
- {"version":3,"file":"connectivity-service.js","sourceRoot":"","sources":["../../src/scp-cf/connectivity-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connectivity-service.js","sourceRoot":"","sources":["../../src/scp-cf/connectivity-service.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,8 @@ const destination_from_service_1 = require("./destination-from-service");
11
11
  const destination_accessor_types_1 = require("./destination-accessor-types");
12
12
  const destination_from_registration_1 = require("./destination-from-registration");
13
13
  const destination_service_1 = require("./destination-service");
14
+ const get_subscriber_token_1 = require("./get-subscriber-token");
15
+ const get_provider_token_1 = require("./get-provider-token");
14
16
  const logger = (0, util_1.createLogger)({
15
17
  package: 'connectivity',
16
18
  messageContext: 'destination-accessor'
@@ -92,9 +94,8 @@ async function getAllDestinationsFromDestinationService(options = {}) {
92
94
  if ((0, identity_service_1.isTokenExchangeEnabled)(options)) {
93
95
  options.jwt = await (0, identity_service_1.exchangeToken)(options);
94
96
  }
95
- const token = (await destination_from_service_1.DestinationFromServiceRetriever.getSubscriberToken(options))
96
- ?.serviceJwt ||
97
- (await destination_from_service_1.DestinationFromServiceRetriever.getProviderServiceToken(options));
97
+ const token = (await (0, get_subscriber_token_1.getSubscriberToken)(options))?.serviceJwt ||
98
+ (await (0, get_provider_token_1.getProviderServiceToken)(options));
98
99
  const destinationServiceUri = (0, destination_from_service_1.getDestinationServiceCredentials)().uri;
99
100
  const accountName = (0, subdomain_replacer_1.parseSubdomain)(token.decoded.iss);
100
101
  logger.debug(`Retrieving all destinations for account: "${accountName}" from destination service.`);
@@ -1 +1 @@
1
- {"version":3,"file":"destination-accessor.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-accessor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"destination-accessor.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-accessor.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { Cache, CacheEntry } from '../cache';
2
2
  import { JwtPayload } from '../jsonwebtoken-type';
3
3
  import { Destination } from './destination-service-types';
4
4
  import { DestinationsByType } from './destination-accessor-types';
5
+ import { SubscriberToken } from './get-subscriber-token';
5
6
  /**
6
7
  * Represents the isolation strategy in the destination cache.
7
8
  * The available strategies are isolation by tenant or isolation by tenant and user.
@@ -70,15 +71,15 @@ export interface DestinationCacheType {
70
71
  /**
71
72
  * @internal
72
73
  */
73
- retrieveDestinationFromCache: (decodedJwt: Record<string, any>, name: string, isolation: IsolationStrategy) => Promise<Destination | undefined>;
74
+ retrieveDestinationFromCache: (token: Required<SubscriberToken> | JwtPayload, name: string, isolation: IsolationStrategy) => Promise<Destination | undefined>;
74
75
  /**
75
76
  * @internal
76
77
  */
77
- cacheRetrievedDestination: (decodedJwt: Record<string, any>, destination: Destination, isolation: IsolationStrategy) => Promise<void>;
78
+ cacheRetrievedDestination: (token: Required<SubscriberToken> | JwtPayload, destination: Destination, isolation: IsolationStrategy) => Promise<void>;
78
79
  /**
79
80
  * @internal
80
81
  */
81
- cacheRetrievedDestinations: (decodedJwt: Record<string, any>, retrievedDestinations: DestinationsByType, isolation: IsolationStrategy) => Promise<void>;
82
+ cacheRetrievedDestinations: (token: Required<SubscriberToken> | JwtPayload, retrievedDestinations: DestinationsByType, isolation: IsolationStrategy) => Promise<void>;
82
83
  /**
83
84
  * @internal
84
85
  */
@@ -96,7 +97,7 @@ export interface DestinationCacheType {
96
97
  */
97
98
  export declare const DestinationCache: (cache?: DestinationCacheInterface) => DestinationCacheType;
98
99
  /**
99
- * Calculates a cache key based on the jwt and destination name for the given isolation strategy.
100
+ * Calculates a cache key based on the JWT and destination name for the given isolation strategy.
100
101
  * Cache keys for strategies are non-overlapping, i.e. using a cache key for strategy {@link 'tenant'}
101
102
  * will not result in a cache hit for a destination that has been cached with strategy {@link 'tenant-user'}.
102
103
  * @param decodedJwt - The decoded JWT of the current request.
@@ -105,7 +106,7 @@ export declare const DestinationCache: (cache?: DestinationCacheInterface) => De
105
106
  * @returns The cache key.
106
107
  * @internal
107
108
  */
108
- export declare function getDestinationCacheKey(decodedJwt: Record<string, any>, destinationName: string, isolationStrategy?: IsolationStrategy): string | undefined;
109
+ export declare function getDestinationCacheKey(token: SubscriberToken | JwtPayload, destinationName: string, isolationStrategy?: IsolationStrategy): string | undefined;
109
110
  /**
110
111
  * Sets the custom destination cache instance.
111
112
  * Call this method with an instance of {@link DestinationCacheInterface} to override the default cache instance set by the SDK.
@@ -56,13 +56,13 @@ exports.DefaultDestinationCache = DefaultDestinationCache;
56
56
  * @internal
57
57
  */
58
58
  const DestinationCache = (cache = new DefaultDestinationCache(300000)) => ({
59
- retrieveDestinationFromCache: async (decodedJwt, name, isolation) => cache.get(getDestinationCacheKey(decodedJwt, name, isolation)),
60
- cacheRetrievedDestination: async (decodedJwt, destination, isolation) => {
61
- cacheRetrievedDestination(decodedJwt, destination, isolation, cache);
59
+ retrieveDestinationFromCache: async (token, name, isolation) => cache.get(getDestinationCacheKey(token, name, isolation)),
60
+ cacheRetrievedDestination: async (token, destination, isolation) => {
61
+ cacheRetrievedDestination(token, destination, isolation, cache);
62
62
  },
63
- cacheRetrievedDestinations: async (decodedJwt, retrievedDestinations, isolation) => {
64
- retrievedDestinations.subaccount.forEach(dest => cacheRetrievedDestination(decodedJwt, dest, isolation, cache));
65
- retrievedDestinations.instance.forEach(dest => cacheRetrievedDestination(decodedJwt, dest, isolation, cache));
63
+ cacheRetrievedDestinations: async (token, retrievedDestinations, isolation) => {
64
+ retrievedDestinations.subaccount.forEach(dest => cacheRetrievedDestination(token, dest, isolation, cache));
65
+ retrievedDestinations.instance.forEach(dest => cacheRetrievedDestination(token, dest, isolation, cache));
66
66
  },
67
67
  clear: async () => {
68
68
  cache.clear();
@@ -71,7 +71,35 @@ const DestinationCache = (cache = new DefaultDestinationCache(300000)) => ({
71
71
  });
72
72
  exports.DestinationCache = DestinationCache;
73
73
  /**
74
- * Calculates a cache key based on the jwt and destination name for the given isolation strategy.
74
+ * Retrieve the token to use for tenant identification.
75
+ *
76
+ * For subscriber:
77
+ * If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
78
+ * If a custom user JWT was passed, this is used.
79
+ *
80
+ * For provider: always use the token as passed.
81
+ * @param token - Either the subscriber JWTs or one provider JWT.
82
+ * @returns The decoded JWT to use for tenant identification.
83
+ */
84
+ function getJwtForTenant(token) {
85
+ return token.serviceJwt?.decoded || token;
86
+ }
87
+ /**
88
+ * Retrieve the token to use for user identification.
89
+ *
90
+ * For subscriber:
91
+ * If a user token was passed, this is used.
92
+ * If only `iss` was passed try to get the user from the service token.
93
+ *
94
+ * For provider: always use the token as passed.
95
+ * @param token - Either the subscriber JWTs or one provider JWT.
96
+ * @returns The decoded JWT to use for user identification.
97
+ */
98
+ function getJwtForUser(token) {
99
+ return token.userJwt?.decoded || token;
100
+ }
101
+ /**
102
+ * Calculates a cache key based on the JWT and destination name for the given isolation strategy.
75
103
  * Cache keys for strategies are non-overlapping, i.e. using a cache key for strategy {@link 'tenant'}
76
104
  * will not result in a cache hit for a destination that has been cached with strategy {@link 'tenant-user'}.
77
105
  * @param decodedJwt - The decoded JWT of the current request.
@@ -80,12 +108,12 @@ exports.DestinationCache = DestinationCache;
80
108
  * @returns The cache key.
81
109
  * @internal
82
110
  */
83
- function getDestinationCacheKey(decodedJwt, destinationName, isolationStrategy = 'tenant-user') {
111
+ function getDestinationCacheKey(token, destinationName, isolationStrategy = 'tenant-user') {
84
112
  if (isolationStrategy === 'tenant') {
85
- return getTenantCacheKey(destinationName, (0, tenant_1.tenantId)(decodedJwt));
113
+ return getTenantCacheKey(destinationName, (0, tenant_1.tenantId)(getJwtForTenant(token)));
86
114
  }
87
115
  if (isolationStrategy === 'tenant-user') {
88
- return getTenantUserCacheKey(destinationName, (0, tenant_1.tenantId)(decodedJwt), (0, user_1.userId)(decodedJwt));
116
+ return getTenantUserCacheKey(destinationName, (0, tenant_1.tenantId)(getJwtForTenant(token)), (0, user_1.userId)(getJwtForUser(token)));
89
117
  }
90
118
  logger.warn(`Could not build destination cache key. Isolation strategy '${isolationStrategy}' is not supported.`);
91
119
  }
@@ -102,11 +130,11 @@ function getTenantUserCacheKey(destinationName, tenant, user) {
102
130
  }
103
131
  logger.warn("Could not build destination cache key. Isolation strategy 'tenant-user' is used, but tenant id or user id is undefined in JWT.");
104
132
  }
105
- async function cacheRetrievedDestination(decodedJwt, destination, isolation, cache) {
133
+ async function cacheRetrievedDestination(token, destination, isolation, cache) {
106
134
  if (!destination.name) {
107
135
  throw new Error('The destination name is undefined.');
108
136
  }
109
- const key = getDestinationCacheKey(decodedJwt, destination.name, isolation);
137
+ const key = getDestinationCacheKey(token, destination.name, isolation);
110
138
  const expiresIn = (0, util_1.first)(destination.authTokens || [])?.expiresIn;
111
139
  const expirationTime = expiresIn
112
140
  ? Date.now() + parseInt(expiresIn) * 1000
@@ -1 +1 @@
1
- {"version":3,"file":"destination-cache.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"destination-cache.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-cache.ts"],"names":[],"mappings":"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"}
@@ -1,47 +1,8 @@
1
- import { JwtPair } from '../jwt';
2
1
  import { DestinationServiceCredentials } from '../environment-accessor-types';
2
+ import { JwtPair } from '../jwt';
3
+ import { DestinationFetchOptions } from './destination-accessor-types';
3
4
  import { Destination } from './destination-service-types';
4
- import { DestinationFetchOptions, DestinationOptions } from './destination-accessor-types';
5
- /**
6
- * When a destination is fetched from the SDK the user can pass different tokens.
7
- * The token determines from which tenant the destination is obtained (provider or subscriber) and if it contains user information so that user propagation flows are possible.
8
- * Possible types are: A user specific JWT issued by the XSUAA, a JWT from a custom IdP or only the `iss` property to get destinations from a different tenant.
9
- * We name these tokens "subscriber tokens", because they are related to the subscriber account in contrast to the"provider account", where the application is running.
10
- * The tenant defined in the subscriber token is the provider tenant for single tenant applications.
11
- */
12
- type SubscriberToken = IssToken | XsuaaToken | CustomToken;
13
- /**
14
- * User provided a dummy token with the `iss` property.
15
- * This is used if a tenant other than the provider tenant should be accessed but no user related login (JWT) is available for this tenant.
16
- * Therefore, the `userJwt` is undefined and only a destination service token has been issued.
17
- */
18
- interface IssToken {
19
- type: 'iss';
20
- userJwt: undefined;
21
- serviceJwt: JwtPair;
22
- }
23
- /**
24
- * User provided a token issued form the XSUAA.
25
- * This token has the JKU properties to be verified by the SDK.
26
- * The provided token is the userJwt containing the `zid` and `user_id` properties.
27
- * The service token was derived from this token and is for the same tenant.
28
- */
29
- interface XsuaaToken {
30
- type: 'xsuaa';
31
- userJwt: JwtPair;
32
- serviceJwt: JwtPair;
33
- }
34
- /**
35
- * User provided a token from a custom issuer (not XSUAA).
36
- * Such a token can not be converted to a service token by the XSUAA.
37
- * Therefore, the serviceJwt is undefined and the SDK does not do a token validation - the destination service does this based on jwks properties on the destination.
38
- * For service calls the provider service token is used so this types works only for single tenant application.
39
- */
40
- interface CustomToken {
41
- type: 'custom';
42
- userJwt: JwtPair;
43
- serviceJwt: undefined;
44
- }
5
+ import { SubscriberToken } from './get-subscriber-token';
45
6
  /**
46
7
  * Utility function to get destination service credentials, including error handling.
47
8
  * @internal
@@ -63,8 +24,6 @@ export declare class DestinationFromServiceRetriever {
63
24
  readonly subscriberToken: SubscriberToken | undefined;
64
25
  readonly providerServiceToken: JwtPair;
65
26
  static getDestinationFromDestinationService(options: DestinationFetchOptions): Promise<Destination | null>;
66
- static getSubscriberToken(options: DestinationOptions): Promise<SubscriberToken | undefined>;
67
- static getProviderServiceToken(options: DestinationOptions): Promise<JwtPair>;
68
27
  private static throwUserTokenMissing;
69
28
  private static checkDestinationForCustomJwt;
70
29
  private static isUserJwt;
@@ -89,7 +48,6 @@ export declare class DestinationFromServiceRetriever {
89
48
  private fetchDestinationWithUserExchangeFlows;
90
49
  private fetchDestinationWithRefreshTokenFlow;
91
50
  private addProxyConfiguration;
92
- private selectSubscriberJwt;
93
51
  private updateDestinationCache;
94
52
  private getProviderDestinationService;
95
53
  private getProviderDestinationCache;
@@ -101,4 +59,3 @@ export declare class DestinationFromServiceRetriever {
101
59
  private searchSubscriberAccountForDestination;
102
60
  private addTrustStoreConfiguration;
103
61
  }
104
- export {};
@@ -2,17 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DestinationFromServiceRetriever = exports.getDestinationFromDestinationService = exports.getDestinationServiceCredentials = void 0;
4
4
  const util_1 = require("@sap-cloud-sdk/util");
5
- const jwt_1 = require("../jwt");
6
- const token_accessor_1 = require("../token-accessor");
5
+ const connectivity_service_1 = require("../connectivity-service");
7
6
  const environment_accessor_1 = require("../environment-accessor");
8
- const tenant_1 = require("../tenant");
9
7
  const identity_service_1 = require("../identity-service");
8
+ const tenant_1 = require("../tenant");
9
+ const token_accessor_1 = require("../token-accessor");
10
10
  const xsuaa_service_1 = require("../xsuaa-service");
11
- const connectivity_service_1 = require("../connectivity-service");
12
- const destination_service_types_1 = require("./destination-service-types");
11
+ const destination_cache_1 = require("./destination-cache");
13
12
  const destination_selection_strategies_1 = require("./destination-selection-strategies");
14
13
  const destination_service_1 = require("./destination-service");
15
- const destination_cache_1 = require("./destination-cache");
14
+ const destination_service_types_1 = require("./destination-service-types");
15
+ const get_provider_token_1 = require("./get-provider-token");
16
+ const get_subscriber_token_1 = require("./get-subscriber-token");
16
17
  const http_proxy_util_1 = require("./http-proxy-util");
17
18
  const logger = (0, util_1.createLogger)({
18
19
  package: 'connectivity',
@@ -28,7 +29,7 @@ const emptyDestinationByType = {
28
29
  */
29
30
  function getDestinationServiceCredentials() {
30
31
  const credentials = (0, environment_accessor_1.getDestinationServiceCredentialsList)();
31
- if (!credentials || credentials.length === 0) {
32
+ if (!credentials?.length) {
32
33
  throw Error('No binding to a destination service instance found. Please bind a destination service instance to your application.');
33
34
  }
34
35
  if (credentials.length > 1) {
@@ -58,8 +59,8 @@ class DestinationFromServiceRetriever {
58
59
  if ((0, identity_service_1.isTokenExchangeEnabled)(options)) {
59
60
  options.jwt = await (0, identity_service_1.exchangeToken)(options);
60
61
  }
61
- const subscriberToken = await DestinationFromServiceRetriever.getSubscriberToken(options);
62
- const providerToken = await DestinationFromServiceRetriever.getProviderServiceToken(options);
62
+ const subscriberToken = await (0, get_subscriber_token_1.getSubscriberToken)(options);
63
+ const providerToken = await (0, get_provider_token_1.getProviderServiceToken)(options);
63
64
  const da = new DestinationFromServiceRetriever(options, subscriberToken, providerToken);
64
65
  const destinationResult = await da.searchDestinationWithSelectionStrategyAndCache();
65
66
  if (!destinationResult) {
@@ -95,50 +96,6 @@ class DestinationFromServiceRetriever {
95
96
  await da.updateDestinationCache(withTrustStore, destinationResult.origin);
96
97
  return withTrustStore;
97
98
  }
98
- static async getSubscriberToken(options) {
99
- if (options.jwt) {
100
- if (options.iss) {
101
- logger.warn('You have provided the `userJwt` and `iss` options to fetch the destination. This is most likely unintentional. Ignoring `iss`.');
102
- }
103
- if ((0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwtComplete)(options.jwt))) {
104
- await (0, jwt_1.verifyJwt)(options.jwt, options);
105
- const serviceJwtEncoded = await (0, token_accessor_1.serviceToken)('destination', {
106
- ...options,
107
- jwt: options.jwt
108
- });
109
- return {
110
- type: 'xsuaa',
111
- userJwt: (0, jwt_1.getJwtPair)(options.jwt),
112
- serviceJwt: (0, jwt_1.getJwtPair)(serviceJwtEncoded)
113
- };
114
- }
115
- return {
116
- type: 'custom',
117
- userJwt: (0, jwt_1.getJwtPair)(options.jwt),
118
- serviceJwt: undefined
119
- };
120
- }
121
- if (options.iss) {
122
- logger.debug('Using `iss` option to fetch a destination instead of a full JWT. No validation is performed.');
123
- const serviceJwtEncoded = await (0, token_accessor_1.serviceToken)('destination', {
124
- ...options,
125
- jwt: { iss: options.iss }
126
- });
127
- return {
128
- type: 'iss',
129
- userJwt: undefined,
130
- serviceJwt: (0, jwt_1.getJwtPair)(serviceJwtEncoded)
131
- };
132
- }
133
- }
134
- static async getProviderServiceToken(options) {
135
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
136
- const { jwt, ...optionsWithoutJwt } = options;
137
- const encoded = await (0, token_accessor_1.serviceToken)('destination', {
138
- ...optionsWithoutJwt
139
- });
140
- return { encoded, decoded: (0, jwt_1.decodeJwt)(encoded) };
141
- }
142
99
  static throwUserTokenMissing(destination) {
143
100
  throw Error(`No user token (JWT) has been provided. This is strictly necessary for '${destination.authentication}'.`);
144
101
  }
@@ -148,7 +105,7 @@ class DestinationFromServiceRetriever {
148
105
  }
149
106
  }
150
107
  static isUserJwt(token) {
151
- return !!token && token.type !== 'iss';
108
+ return !!token?.userJwt;
152
109
  }
153
110
  constructor(options, subscriberToken, providerServiceToken) {
154
111
  this.subscriberToken = subscriberToken;
@@ -237,22 +194,23 @@ Possible alternatives for such technical user authentication are BasicAuthentica
237
194
  }
238
195
  // This covers OAuth to user-dependent auth flows https://help.sap.com/viewer/cca91383641e40ffbe03bdc78f00f681/Cloud/en-US/39d42654093e4f8db20398a06f7eab2b.html and https://api.sap.com/api/SAP_CP_CF_Connectivity_Destination/resource
239
196
  // Which is the same for: OAuth2UserTokenExchange, OAuth2JWTBearer and OAuth2SAMLBearerAssertion
240
- // If user JWT is not XSUAA enforce the JWKS properties are there - destination service would do that as well. https://help.sap.com/docs/CP_CONNECTIVITY/cca91383641e40ffbe03bdc78f00f681/d81e1683bd434823abf3ceefc4ff157f.html
241
- if (this.subscriberToken.type === 'custom') {
197
+ // If subscriber token does not include service JWT (aka. originally passed JWT was not an XSUAA JWT) enforce the JWKS properties are there - destination service would do that as well. https://help.sap.com/docs/CP_CONNECTIVITY/cca91383641e40ffbe03bdc78f00f681/d81e1683bd434823abf3ceefc4ff157f.html
198
+ if (!this.subscriberToken.serviceJwt) {
242
199
  DestinationFromServiceRetriever.checkDestinationForCustomJwt(destination);
243
200
  }
244
- // Case 1 Destination in provider and jwt issued for provider account But not custom JWT given-> not extra x-user-token header needed
245
- if (this.subscriberToken.type !== 'custom' &&
201
+ // Case 1 Destination in provider and JWT issued for provider account, but no custom JWT given -> no extra x-user-token header needed
202
+ if (this.subscriberToken.serviceJwt &&
246
203
  (0, tenant_1.isIdenticalTenant)(this.subscriberToken.userJwt.decoded, this.providerServiceToken.decoded)) {
247
204
  logger.debug(`UserExchange flow started without user exchange token for destination ${destinationName} of the provider account.`);
248
205
  return {
249
206
  authHeaderJwt: await (0, token_accessor_1.jwtBearerToken)(this.subscriberToken.userJwt.encoded, (0, environment_accessor_1.getDestinationService)())
250
207
  };
251
208
  }
252
- // Case 2 Subscriber and provider account not the same OR custom jwt -> x-user-token header passed to determine user and tenant in token service URL and service token to get the destination
209
+ // Case 2 Subscriber and provider account not the same OR custom JWT -> x-user-token header passed to determine user and tenant in token service URL and service token to get the destination
253
210
  const serviceJwt = origin === 'provider'
254
211
  ? this.providerServiceToken
255
- : this.subscriberToken.serviceJwt;
212
+ : // TODO: What is the meaning of this? Why do we assume this is defined. Technically, it might not be.
213
+ this.subscriberToken.serviceJwt;
256
214
  logger.debug(`UserExchange flow started for destination ${destinationName} of the ${origin} account.`);
257
215
  return {
258
216
  authHeaderJwt: serviceJwt.encoded,
@@ -292,9 +250,9 @@ Possible alternatives for such technical user authentication are BasicAuthentica
292
250
  async addProxyConfiguration(destination) {
293
251
  switch ((0, http_proxy_util_1.proxyStrategy)(destination)) {
294
252
  case 'on-premise':
295
- return (0, connectivity_service_1.addProxyConfigurationOnPrem)(destination, this.subscriberToken?.type === 'iss'
296
- ? this.subscriberToken.serviceJwt
297
- : this.subscriberToken?.userJwt);
253
+ return (0, connectivity_service_1.addProxyConfigurationOnPrem)(destination, (0, get_subscriber_token_1.hasTokens)(this.subscriberToken)
254
+ ? (0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken)
255
+ : undefined);
298
256
  case 'internet':
299
257
  case 'private-link':
300
258
  (0, destination_service_types_1.assertHttpDestination)(destination);
@@ -305,25 +263,12 @@ Possible alternatives for such technical user authentication are BasicAuthentica
305
263
  throw new Error('Illegal argument: No valid proxy configuration found in the destination input to be added.');
306
264
  }
307
265
  }
308
- selectSubscriberJwt() {
309
- if (!this.subscriberToken) {
310
- throw new Error('Try to get subscriber token but value is undefined.');
311
- }
312
- switch (this.subscriberToken.type) {
313
- case 'custom':
314
- return this.subscriberToken.userJwt.decoded;
315
- case 'iss':
316
- return this.subscriberToken.serviceJwt.decoded;
317
- case 'xsuaa':
318
- return this.subscriberToken.userJwt.decoded;
319
- }
320
- }
321
266
  async updateDestinationCache(destination, destinationOrigin) {
322
267
  if (!this.options.useCache) {
323
268
  return destination;
324
269
  }
325
270
  await destination_cache_1.destinationCache.cacheRetrievedDestination(destinationOrigin === 'subscriber'
326
- ? this.selectSubscriberJwt()
271
+ ? (0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken)
327
272
  : this.providerServiceToken.decoded, destination, this.options.isolationStrategy);
328
273
  }
329
274
  async getProviderDestinationService() {
@@ -347,8 +292,8 @@ Possible alternatives for such technical user authentication are BasicAuthentica
347
292
  }
348
293
  }
349
294
  async getSubscriberDestinationService() {
350
- if (!this.subscriberToken || this.subscriberToken.type === 'custom') {
351
- throw new Error('Try to get destinations from subscriber account but user JWT was not set.');
295
+ if (!this.subscriberToken?.serviceJwt) {
296
+ throw new Error('Try to get destinations from subscriber account but service JWT was not set.');
352
297
  }
353
298
  const subscriber = await this.getInstanceAndSubaccountDestinations(this.subscriberToken.serviceJwt.encoded);
354
299
  const destination = this.options.selectionStrategy({
@@ -360,7 +305,7 @@ Possible alternatives for such technical user authentication are BasicAuthentica
360
305
  }
361
306
  }
362
307
  async getSubscriberDestinationCache() {
363
- const destination = await destination_cache_1.destinationCache.retrieveDestinationFromCache(this.selectSubscriberJwt(), this.options.destinationName, this.options.isolationStrategy);
308
+ const destination = await destination_cache_1.destinationCache.retrieveDestinationFromCache((0, get_subscriber_token_1.getRequiredSubscriberToken)(this.subscriberToken), this.options.destinationName, this.options.isolationStrategy);
364
309
  if (destination) {
365
310
  return { destination, fromCache: true, origin: 'subscriber' };
366
311
  }
@@ -379,7 +324,7 @@ Possible alternatives for such technical user authentication are BasicAuthentica
379
324
  if (!this.subscriberToken) {
380
325
  return false;
381
326
  }
382
- if (this.subscriberToken.type === 'custom') {
327
+ if (!this.subscriberToken.serviceJwt) {
383
328
  return false;
384
329
  }
385
330
  if (this.options.selectionStrategy === destination_selection_strategies_1.alwaysProvider) {
@@ -1 +1 @@
1
- {"version":3,"file":"destination-from-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-from-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"destination-from-service.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/destination-from-service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { JwtPair } from '../jwt';
2
+ import { DestinationOptions } from './destination-accessor-types';
3
+ /**
4
+ * @internal
5
+ */
6
+ export declare function getProviderServiceToken(options: DestinationOptions): Promise<JwtPair>;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getProviderServiceToken = void 0;
4
+ const jwt_1 = require("../jwt");
5
+ const token_accessor_1 = require("../token-accessor");
6
+ /**
7
+ * @internal
8
+ */
9
+ async function getProviderServiceToken(options) {
10
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
11
+ const { jwt, ...optionsWithoutJwt } = options;
12
+ const encoded = await (0, token_accessor_1.serviceToken)('destination', optionsWithoutJwt);
13
+ return { encoded, decoded: (0, jwt_1.decodeJwt)(encoded) };
14
+ }
15
+ exports.getProviderServiceToken = getProviderServiceToken;
16
+ //# sourceMappingURL=get-provider-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-provider-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-provider-token.ts"],"names":[],"mappings":";;;AAAA,gCAA4C;AAC5C,sDAAiD;AAGjD;;GAEG;AACI,KAAK,UAAU,uBAAuB,CAC3C,OAA2B;IAE3B,6DAA6D;IAC7D,MAAM,EAAE,GAAG,EAAE,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,IAAA,6BAAY,EAAC,aAAa,EAAE,iBAAiB,CAAC,CAAC;IACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAA,eAAS,EAAC,OAAO,CAAC,EAAE,CAAC;AAClD,CAAC;AAPD,0DAOC"}
@@ -0,0 +1,63 @@
1
+ import { JwtPair } from '../jwt';
2
+ import { DestinationOptions } from './destination-accessor-types';
3
+ /**
4
+ * @internal
5
+ * When a destination is fetched from the SDK the user can pass different tokens.
6
+ * The token determines from which tenant the destination is obtained (provider or subscriber) and if it contains user information so that user propagation flows are possible.
7
+ * Possible types are: A user specific JWT issued by the XSUAA, a JWT from a custom IdP or only the `iss` property to get destinations from a different tenant.
8
+ * We name these tokens "subscriber tokens", because they are related to the subscriber account in contrast to the "provider account", where the application is running.
9
+ * The tenant defined in the subscriber token is the provider tenant for single tenant applications.
10
+ */
11
+ export interface SubscriberToken {
12
+ /**
13
+ * Token that represents the user.
14
+ */
15
+ userJwt?: JwtPair;
16
+ /**
17
+ * Destination service token.
18
+ */
19
+ serviceJwt?: JwtPair;
20
+ }
21
+ /**
22
+ * @internal
23
+ * @param token - The token to check
24
+ * @returns Whether the given token is a subscriber token.
25
+ */
26
+ export declare function isSubscriberToken(token: any): token is SubscriberToken;
27
+ /**
28
+ * @internal
29
+ */
30
+ export declare function getSubscriberToken(options: DestinationOptions): Promise<SubscriberToken>;
31
+ /**
32
+ * @internal
33
+ * Get a subscriber token pair with required fields. Checks that at least one of the tokens exists and sets defaults if needed.
34
+ * @returns The decoded subscriber tokens.
35
+ */
36
+ export declare function getRequiredSubscriberToken(token: SubscriberToken | undefined): Required<SubscriberToken>;
37
+ /**
38
+ * @internal
39
+ * Check whether the subscriber token has one of the tokens set
40
+ * @param token - Subscriber token pair to check
41
+ * @returns True if at least one of the tokens exist.
42
+ */
43
+ export declare function hasTokens(token: SubscriberToken | undefined): boolean;
44
+ /**
45
+ * @internal
46
+ * Retrieve the token to use for tenant identification.
47
+ *
48
+ * If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
49
+ * If a custom user JWT was passed, this is used.
50
+ * @param token - The subscriber token for service and user.
51
+ * @returns The decoded JWT to use for tenant identification.
52
+ */
53
+ export declare function getJwtForTenant(token: Required<SubscriberToken>): JwtPair;
54
+ /**
55
+ * @internal
56
+ * Retrieve the token to use for user identification.
57
+ *
58
+ * If a user token was passed, this is used.
59
+ * If only `iss` was passed try to get the user from the service token.
60
+ * @param token - The subscriber token for service and user.
61
+ * @returns The decoded JWT to use for user identification.
62
+ */
63
+ export declare function getJwtForUser(token: Required<SubscriberToken>): JwtPair;
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJwtForUser = exports.getJwtForTenant = exports.hasTokens = exports.getRequiredSubscriberToken = exports.getSubscriberToken = exports.isSubscriberToken = void 0;
4
+ const util_1 = require("@sap-cloud-sdk/util");
5
+ const jwt_1 = require("../jwt");
6
+ const token_accessor_1 = require("../token-accessor");
7
+ const logger = (0, util_1.createLogger)({
8
+ package: 'connectivity',
9
+ messageContext: 'destination-accessor-service'
10
+ });
11
+ /**
12
+ * @internal
13
+ * @param token - The token to check
14
+ * @returns Whether the given token is a subscriber token.
15
+ */
16
+ function isSubscriberToken(token) {
17
+ return token.userJwt || token.serviceJwt;
18
+ }
19
+ exports.isSubscriberToken = isSubscriberToken;
20
+ /**
21
+ * @internal
22
+ */
23
+ async function getSubscriberToken(options) {
24
+ const isXsuaaJwt = !!options.jwt && (0, jwt_1.isXsuaaToken)((0, jwt_1.decodeJwtComplete)(options.jwt));
25
+ return {
26
+ userJwt: await retrieveUserToken(options, isXsuaaJwt),
27
+ serviceJwt: await retrieveServiceToken(options, isXsuaaJwt)
28
+ };
29
+ }
30
+ exports.getSubscriberToken = getSubscriberToken;
31
+ async function retrieveUserToken(options, isXsuaaJwt) {
32
+ if (options.jwt) {
33
+ if (!options.iss && isXsuaaJwt) {
34
+ await (0, jwt_1.verifyJwt)(options.jwt, options);
35
+ }
36
+ return (0, jwt_1.getJwtPair)(options.jwt);
37
+ }
38
+ }
39
+ async function retrieveServiceToken(options, isXsuaaJwt) {
40
+ const jwt = getJwtForServiceToken(options, isXsuaaJwt);
41
+ if (jwt) {
42
+ return (0, jwt_1.getJwtPair)(await (0, token_accessor_1.serviceToken)('destination', {
43
+ ...options,
44
+ jwt
45
+ }));
46
+ }
47
+ }
48
+ function getJwtForServiceToken(options, isXsuaaJwt) {
49
+ if (options.iss) {
50
+ logger.debug('Using `iss` option instead of a full JWT to fetch a destination. No validation is performed.');
51
+ return { iss: options.iss };
52
+ }
53
+ if (options.jwt && isXsuaaJwt) {
54
+ return options.jwt;
55
+ }
56
+ }
57
+ /**
58
+ * @internal
59
+ * Get a subscriber token pair with required fields. Checks that at least one of the tokens exists and sets defaults if needed.
60
+ * @returns The decoded subscriber tokens.
61
+ */
62
+ function getRequiredSubscriberToken(token) {
63
+ if (token) {
64
+ const { userJwt, serviceJwt } = token;
65
+ const requiredToken = {
66
+ userJwt: userJwt || serviceJwt,
67
+ serviceJwt: serviceJwt || userJwt
68
+ };
69
+ if (isRequired(requiredToken)) {
70
+ return requiredToken;
71
+ }
72
+ }
73
+ throw new Error('Could not get subscriber token: Token value is undefined.');
74
+ }
75
+ exports.getRequiredSubscriberToken = getRequiredSubscriberToken;
76
+ /**
77
+ * Type guard to check whether a token has both `userJwt` and `serviceJwt` defined.
78
+ * @param token - Token to check.
79
+ * @returns Whether both tokens are defined.
80
+ */
81
+ function isRequired(token) {
82
+ return !!(token?.userJwt && token.serviceJwt);
83
+ }
84
+ /**
85
+ * @internal
86
+ * Check whether the subscriber token has one of the tokens set
87
+ * @param token - Subscriber token pair to check
88
+ * @returns True if at least one of the tokens exist.
89
+ */
90
+ function hasTokens(token) {
91
+ return !!token?.userJwt || !!token?.serviceJwt;
92
+ }
93
+ exports.hasTokens = hasTokens;
94
+ /**
95
+ * @internal
96
+ * Retrieve the token to use for tenant identification.
97
+ *
98
+ * If `iss` or XSUAA user JWT was passed, this is the `serviceJwt`.
99
+ * If a custom user JWT was passed, this is used.
100
+ * @param token - The subscriber token for service and user.
101
+ * @returns The decoded JWT to use for tenant identification.
102
+ */
103
+ function getJwtForTenant(token) {
104
+ return token.serviceJwt;
105
+ }
106
+ exports.getJwtForTenant = getJwtForTenant;
107
+ /**
108
+ * @internal
109
+ * Retrieve the token to use for user identification.
110
+ *
111
+ * If a user token was passed, this is used.
112
+ * If only `iss` was passed try to get the user from the service token.
113
+ * @param token - The subscriber token for service and user.
114
+ * @returns The decoded JWT to use for user identification.
115
+ */
116
+ function getJwtForUser(token) {
117
+ return token.userJwt;
118
+ }
119
+ exports.getJwtForUser = getJwtForUser;
120
+ //# sourceMappingURL=get-subscriber-token.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-subscriber-token.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/get-subscriber-token.ts"],"names":[],"mappings":"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"}
@@ -10,5 +10,7 @@ export * from './destination-service-cache';
10
10
  export * from './destination-service-types';
11
11
  export * from './destination-service';
12
12
  export * from './destination';
13
+ export * from './get-subscriber-token';
14
+ export * from './get-provider-token';
13
15
  export * from './http-proxy-util';
14
16
  export * from './service-binding-to-destination';
@@ -26,6 +26,8 @@ __exportStar(require("./destination-service-cache"), exports);
26
26
  __exportStar(require("./destination-service-types"), exports);
27
27
  __exportStar(require("./destination-service"), exports);
28
28
  __exportStar(require("./destination"), exports);
29
+ __exportStar(require("./get-subscriber-token"), exports);
30
+ __exportStar(require("./get-provider-token"), exports);
29
31
  __exportStar(require("./http-proxy-util"), exports);
30
32
  __exportStar(require("./service-binding-to-destination"), exports);
31
33
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC;AACvC,6DAA2C;AAC3C,kEAAgD;AAChD,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,8DAA4C;AAC5C,wDAAsC;AACtC,gDAA8B;AAC9B,oDAAkC;AAClC,mEAAiD"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/scp-cf/destination/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAuC;AACvC,+DAA6C;AAC7C,sDAAoC;AACpC,yDAAuC;AACvC,6DAA2C;AAC3C,kEAAgD;AAChD,0DAAwC;AACxC,qEAAmD;AACnD,8DAA4C;AAC5C,8DAA4C;AAC5C,wDAAsC;AACtC,gDAA8B;AAC9B,yDAAuC;AACvC,uDAAqC;AACrC,oDAAkC;AAClC,mEAAiD"}
@@ -47,7 +47,7 @@ exports.exchangeToken = exchangeToken;
47
47
  * @returns A boolean value, that indicates whether the token exchange should be applied.
48
48
  */
49
49
  function isTokenExchangeEnabled(options) {
50
- // note: the option is optional and by default we enable the token exchange.
50
+ // iasToXsuaaTokenExchange is optional, token exchange is enabled by default
51
51
  return options.iasToXsuaaTokenExchange !== false && !!options.jwt;
52
52
  }
53
53
  exports.isTokenExchangeEnabled = isTokenExchangeEnabled;
@@ -117,10 +117,8 @@ function validateAuthHeader(header) {
117
117
  * @internal
118
118
  */
119
119
  async function verifyJwt(token, options) {
120
- const disableCache = { ...defaultVerifyJwtOptions, ...options }
121
- .cacheVerificationKeys
122
- ? false
123
- : true;
120
+ const disableCache = !{ ...defaultVerifyJwtOptions, ...options }
121
+ .cacheVerificationKeys;
124
122
  const credentials = (0, environment_accessor_1.getXsuaaServiceCredentials)(token);
125
123
  const promise = new Promise((resolve, reject) => {
126
124
  xssec.createSecurityContext(token, { disableCache, credentials }, function (error, securityContext, tokenInfo) {
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/scp-cf/jwt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../src/scp-cf/jwt.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8CAAmE;AACnE,kDAAoC;AACpC,+CAAsC;AACtC,mCAAgC;AAChC,iEAAoE;AAIpE,MAAM,MAAM,GAAG,IAAA,mBAAY,EAAC;IAC1B,OAAO,EAAE,cAAc;IACvB,cAAc,EAAE,KAAK;CACtB,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAgB,SAAS,CAAC,KAAa;IACrC,OAAO,iBAAiB,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;AAC1C,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,MAAM,YAAY,GAAG,IAAA,qBAAM,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACnE,IAAI,YAAY,KAAK,IAAI,IAAI,sBAAsB,CAAC,YAAY,CAAC,EAAE;QACjE,OAAO,YAAY,CAAC;KACrB;IACD,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;AACJ,CAAC;AARD,8CAQC;AAED;;;;GAIG;AACH,SAAgB,WAAW,CAAC,GAAoB;IAC9C,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAC9B,OAAO,MAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9B;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAND,kCAMC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,cAAoC;IAC/D,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,EAAE;QAC9B,OAAO,KAAK,CAAC;KACd;IACD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;IAC9D,MAAM,SAAS,GAAG,IAAA,iDAA0B,EAC1C,cAAc,CAAC,OAAO,CACvB,CAAC,SAAS,CAAC;IAEZ,OAAO,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvC,CAAC;AAVD,oCAUC;AAED,SAAS,UAAU,CAAC,GAAoB;IACtC,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAC9C,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CACjD,CAAC;IACF,IAAI,OAAO,EAAE;QACX,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1B,oCAAoC;QACpC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;KACnD;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA0B;IACpD,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;QACjC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;KACd;IAED,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE5C,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE;QAChC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,KAAK,CAAC;KACd;IAED,IAAI,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,EAAE;QACvC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;KACd;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC7B,KAAa,EACb,OAA0B;IAE1B,MAAM,YAAY,GAAG,CAAC,EAAE,GAAG,uBAAuB,EAAE,GAAG,OAAO,EAAE;SAC7D,qBAAqB,CAAC;IAEzB,MAAM,WAAW,GAAG,IAAA,iDAA0B,EAAC,KAAK,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAa,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QAC1D,KAAK,CAAC,qBAAqB,CACzB,KAAK,EACL,EAAE,YAAY,EAAE,WAAW,EAAE,EAC7B,UAAU,KAAK,EAAE,eAAe,EAAE,SAAS;YACzC,IAAI,KAAK,EAAE;gBACT,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;aACtB;YACD,OAAO,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,CAAC;QACzC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,OAAO,OAAO;SACX,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;SAClB,KAAK,CAAC,CAAC,CAAC,EAAE;QACT,MAAM,IAAI,qBAAc,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACP,CAAC;AA1BD,8BA0BC;AAYD,MAAM,uBAAuB,GAAqB;IAChD,qBAAqB,EAAE,IAAI;CAC5B,CAAC;AAEF;;;GAGG;AACU,QAAA,oBAAoB,GAAG,IAAI,aAAK,CAAW,MAAM,CAAC,CAAC;AAEhE;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,YAAwB;IAChD,OAAO,oBAAoB,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AACnD,CAAC;AAFD,8BAEC;AAED;;;;;GAKG;AACH,kDAAkD;AAClD,iDAAiD;AACjD,uFAAuF;AACvF,mFAAmF;AACnF,sFAAsF;AACtF,sGAAsG;AACtG,SAAgB,SAAS,CAAC,YAAwB;IAChD,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE;QACzC,OAAO,IAAI,GAAG,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC,CAAC;KAChD;IACD,OAAO,IAAI,GAAG,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC,CAAC;AACnD,CAAC;AALD,8BAKC;AAED,SAAS,gBAAgB,CAAC,YAAwB;IAChD,IAAI,CAAC,CAAC,YAAY,CAAC,GAAG,YAAY,KAAK,IAAI,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;QACnE,OAAO,EAAE,CAAC;KACX;IACD,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAChC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAC1D,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,YAAwB;IAClD,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;QACvB,OAAO,EAAE,CAAC;KACX;IAED,MAAM,MAAM,GACV,YAAY,CAAC,KAAK,YAAY,KAAK;QACjC,CAAC,CAAC,YAAY,CAAC,KAAK;QACpB,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC3B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QAClC,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,OAAO,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;SACtD;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,KAAa;IAG3C,OAAO,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,GAAG,KAAK,EAAE,EAAE,CAAC;AAC3D,CAAC;AAJD,0CAIC;AAED;;;;;GAKG;AACH,SAAgB,oBAAoB,CAClC,UAAsB,EACtB,QAAgB;IAEhB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QACzB,MAAM,CAAC,IAAI,CACT,4DAA4D,QAAQ,aAAa,CAClF,CAAC;KACH;IAED,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC;AAC9B,CAAC;AAXD,oDAWC;AAYD;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,GAAqB,EACrB,OAA4C,EAC5C,UAAsB;IAEtB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CACb,aAAa,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,8BAA8B,CACjE,CAAC;KACH;AACH,CAAC;AAXD,kDAWC;AAiBD;;;GAGG;AACH,SAAgB,UAAU,CAAC,UAAkB;IAC3C,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;AACjE,CAAC;AAFD,gCAEC;AAED;;;;;;GAMG;AACH,SAAgB,WAAW,CAAC,KAA0B;IACpD,IAAI,CAAC,KAAK,EAAE;QACV,OAAO,KAAK,CAAC;KACd;IACD,mCAAmC;IACnC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC;AACnD,CAAC;AAPD,kCAOC;AAED,SAAS,sBAAsB,CAAC,OAAY;IAC1C,OAAO,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sap-cloud-sdk/connectivity",
3
- "version": "3.0.3-20230327075726.0",
3
+ "version": "3.1.0",
4
4
  "description": "SAP Cloud SDK for JavaScript connectivity",
5
5
  "homepage": "https://sap.github.io/cloud-sdk/docs/js/overview",
6
6
  "license": "Apache-2.0",
@@ -37,11 +37,11 @@
37
37
  "readme": "ts-node ../../scripts/replace-common-readme.ts"
38
38
  },
39
39
  "dependencies": {
40
- "@sap-cloud-sdk/util": "^3.0.3-20230327075726.0",
41
- "@sap-cloud-sdk/resilience": "^3.0.3-20230327075726.0",
40
+ "@sap-cloud-sdk/util": "^3.1.0",
41
+ "@sap-cloud-sdk/resilience": "^3.1.0",
42
42
  "@sap/xsenv": "^3.4.0",
43
43
  "@sap/xssec": "^3.2.17",
44
- "axios": "^1.3.4",
44
+ "axios": "^1.3.5",
45
45
  "http-proxy-agent": "^5.0.0",
46
46
  "https-proxy-agent": "^5.0.0",
47
47
  "jsonwebtoken": "^9.0.0",
@@ -50,6 +50,6 @@
50
50
  "devDependencies": {
51
51
  "base64url": "^3.0.1",
52
52
  "nock": "^13.3.0",
53
- "typescript": "~4.9.5"
53
+ "typescript": "~5.0.3"
54
54
  }
55
55
  }