@zetra/citrineos-ocpprouter 1.8.3-fork.13 → 1.8.3-fork.131

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.
@@ -1,7 +1,7 @@
1
- import type { BootstrapConfig, IMessageRouter, INetworkConnection, SystemConfig, WebsocketServerConfig } from '@citrineos/base';
2
- import { AbstractModuleApi, Namespace, OCPP1_6_Namespace, OCPP2_0_1_Namespace } from '@citrineos/base';
3
- import type { ChargingStationKeyQuerystring, ConnectionDeleteQuerystring, IServerNetworkProfileRepository, ISubscriptionRepository, ModelKeyQuerystring, TenantQueryString, WebsocketDeleteQuerystring, WebsocketGetQuerystring, WebsocketMappingQuerystring } from '@citrineos/data';
4
- import { Subscription } from '@citrineos/data';
1
+ import type { BootstrapConfig, IMessageRouter, INetworkConnection, SystemConfig, WebsocketServerConfig } from '@zetra/citrineos-base';
2
+ import { AbstractModuleApi, Namespace, OCPP1_6_Namespace, OCPP2_0_1_Namespace } from '@zetra/citrineos-base';
3
+ import type { ChargingStationKeyQuerystring, ConnectionDeleteQuerystring, IServerNetworkProfileRepository, ISubscriptionRepository, ModelKeyQuerystring, TenantQueryString, WebsocketDeleteQuerystring, WebsocketGetQuerystring, WebsocketMappingQuerystring } from '@zetra/citrineos-data';
4
+ import { Subscription } from '@zetra/citrineos-data';
5
5
  import type { FastifyInstance, FastifyRequest } from 'fastify';
6
6
  import type { ILogObj } from 'tslog';
7
7
  import { Logger } from 'tslog';
@@ -7,8 +7,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { AbstractModuleApi, AsDataEndpoint, BadRequestError, ConfigStoreFactory, DEFAULT_TENANT_ID, HttpMethod, Namespace, NotFoundError, OCPP1_6_Namespace, OCPP2_0_1_Namespace, UnauthorizedError, } from '@citrineos/base';
11
- import { ChargingStationKeyQuerySchema, ConnectionDeleteQuerySchema, CreateSubscriptionSchema, ModelKeyQuerystringSchema, sequelize, Subscription, TenantQuerySchema, WebsocketDeleteQuerySchema, WebsocketGetQuerySchema, WebsocketRequestSchema, WebsocketMappingQuerySchema, WebsocketMappingRequestSchema, } from '@citrineos/data';
10
+ import { AbstractModuleApi, AsDataEndpoint, BadRequestError, ConfigStoreFactory, DEFAULT_TENANT_ID, HttpMethod, Namespace, NotFoundError, OCPP1_6_Namespace, OCPP2_0_1_Namespace, UnauthorizedError, } from '@zetra/citrineos-base';
11
+ import { ChargingStationKeyQuerySchema, ConnectionDeleteQuerySchema, CreateSubscriptionSchema, ModelKeyQuerystringSchema, sequelize, Subscription, TenantQuerySchema, WebsocketDeleteQuerySchema, WebsocketGetQuerySchema, WebsocketRequestSchema, WebsocketMappingQuerySchema, WebsocketMappingRequestSchema, } from '@zetra/citrineos-data';
12
12
  import { Logger } from 'tslog';
13
13
  /**
14
14
  * Admin API for the OcppRouter.
@@ -1,6 +1,6 @@
1
- import type { BootstrapConfig, Call, CallAction, CallError, CallResult, CircuitBreakerOptions, CircuitBreakerState, ICache, IMessageConfirmation, IMessageHandler, IMessageRouter, IMessageSender, OcppRequest, OcppResponse, OCPPVersionType, SystemConfig } from '@citrineos/base';
2
- import { AbstractMessageRouter, CircuitBreaker, MessageOrigin, OcppError, OCPPValidator, OCPPVersion } from '@citrineos/base';
3
- import type { ILocationRepository } from '@citrineos/data';
1
+ import type { BootstrapConfig, Call, CallAction, CallError, CallResult, CircuitBreakerOptions, CircuitBreakerState, ICache, IMessageConfirmation, IMessageHandler, IMessageRouter, IMessageSender, OcppRequest, OcppResponse, OCPPVersionType, SystemConfig } from '@zetra/citrineos-base';
2
+ import { AbstractMessageRouter, CircuitBreaker, MessageOrigin, OcppError, OCPPValidator, OCPPVersion } from '@zetra/citrineos-base';
3
+ import type { ILocationRepository } from '@zetra/citrineos-data';
4
4
  import type { ILogObj } from 'tslog';
5
5
  import { Logger } from 'tslog';
6
6
  import { WebhookDispatcher } from './webhook.dispatcher.js';
@@ -137,4 +137,9 @@ export declare class MessageRouterImpl extends AbstractMessageRouter implements
137
137
  protected onBrokerDisconnect(reason?: string): void;
138
138
  protected onBrokerReconnect(): void;
139
139
  private getActionFromIncompletelyParsedRpcMessage;
140
+ /**
141
+ * Cache key for an inbound Call from a charging station.
142
+ * Distinct from the station-wide key used for outbound Calls (sendCall).
143
+ */
144
+ private _inboundCallCacheKey;
140
145
  }
@@ -1,6 +1,6 @@
1
- import { AbstractMessageRouter, AbstractModule, BOOT_STATUS, CacheNamespace, CircuitBreaker, createIdentifier, ErrorCode, EventGroup, getStationIdFromIdentifier, getTenantIdFromIdentifier, mapToCallAction, MessageOrigin, MessageState, MessageTypeId, NO_ACTION, OCPP2_0_1, OCPP2_0_1_CallAction, OcppError, OCPPValidator, OCPPVersion, RequestBuilder, RetryMessageError, } from '@citrineos/base';
2
- import { sequelize } from '@citrineos/data';
3
- import { OidcTokenProvider } from '@citrineos/util';
1
+ import { AbstractMessageRouter, AbstractModule, BOOT_STATUS, CacheNamespace, CircuitBreaker, createIdentifier, ErrorCode, EventGroup, getStationIdFromIdentifier, getTenantIdFromIdentifier, mapToCallAction, maskOcppMessageSecrets, maskRawOcppMessageSecrets, MessageOrigin, MessageState, MessageTypeId, NO_ACTION, OCPP2_0_1, OCPP2_0_1_CallAction, OcppError, OCPPValidator, OCPPVersion, RequestBuilder, RetryMessageError, } from '@zetra/citrineos-base';
2
+ import { sequelize } from '@zetra/citrineos-data';
3
+ import { OidcTokenProvider } from '@zetra/citrineos-util';
4
4
  import { Logger } from 'tslog';
5
5
  import { v4 as uuidv4 } from 'uuid';
6
6
  import { WebhookDispatcher } from './webhook.dispatcher.js';
@@ -171,7 +171,7 @@ export class MessageRouterImpl extends AbstractMessageRouter {
171
171
  }
172
172
  catch (error) {
173
173
  success = false; // ensure we return false in case of an error
174
- this._logger.error('Error processing message:', message, error);
174
+ this._logger.error('Error processing message:', maskRawOcppMessageSecrets(message), error);
175
175
  const action = this.getActionFromIncompletelyParsedRpcMessage(rpcMessage, messageTypeId);
176
176
  if (messageTypeId != MessageTypeId.CallResult && messageTypeId != MessageTypeId.CallError) {
177
177
  const callError = error instanceof OcppError
@@ -230,12 +230,12 @@ export class MessageRouterImpl extends AbstractMessageRouter {
230
230
  return { success };
231
231
  }
232
232
  else {
233
- this._logger.info('Call already in progress, throwing retry exception', identifier, message);
233
+ this._logger.info('Call already in progress, throwing retry exception', identifier, maskOcppMessageSecrets(message));
234
234
  throw new RetryMessageError('Call already in progress');
235
235
  }
236
236
  }
237
237
  else {
238
- this._logger.info('RegistrationStatus Rejected, unable to send', identifier, message);
238
+ this._logger.info('RegistrationStatus Rejected, unable to send', identifier, maskOcppMessageSecrets(message));
239
239
  return { success: false };
240
240
  }
241
241
  }
@@ -254,9 +254,10 @@ export class MessageRouterImpl extends AbstractMessageRouter {
254
254
  async sendCallResult(correlationId, stationId, tenantId, protocol, action, payload, _origin) {
255
255
  const message = [MessageTypeId.CallResult, correlationId, payload];
256
256
  const identifier = createIdentifier(tenantId, stationId);
257
- const cachedActionMessageId = await this._cache.get(identifier, CacheNamespace.Transactions);
257
+ const inboundCacheKey = this._inboundCallCacheKey(identifier, correlationId);
258
+ const cachedActionMessageId = await this._cache.get(inboundCacheKey, CacheNamespace.Transactions);
258
259
  if (!cachedActionMessageId) {
259
- this._logger.error('Failed to send callResult due to missing message id', identifier, message);
260
+ this._logger.error('Failed to send callResult due to missing message id', inboundCacheKey, message);
260
261
  return { success: false };
261
262
  }
262
263
  const [cachedAction, cachedMessageId] = cachedActionMessageId?.split(/:(.*)/) ?? []; // Returns all characters after first ':' in case ':' is used in messageId
@@ -264,12 +265,12 @@ export class MessageRouterImpl extends AbstractMessageRouter {
264
265
  const rawMessage = JSON.stringify(message);
265
266
  const success = await Promise.all([
266
267
  this._sendMessage(identifier, protocol, cachedAction, MessageState.Response, rawMessage, message),
267
- this._cache.remove(identifier, CacheNamespace.Transactions),
268
+ this._cache.remove(inboundCacheKey, CacheNamespace.Transactions),
268
269
  ]).then((successes) => successes.every(Boolean));
269
270
  return { success };
270
271
  }
271
272
  else {
272
- this._logger.error('Failed to send callResult due to mismatch in message id', identifier, cachedActionMessageId, message);
273
+ this._logger.error('Failed to send callResult due to mismatch in message id', inboundCacheKey, cachedActionMessageId, message);
273
274
  return { success: false };
274
275
  }
275
276
  }
@@ -288,9 +289,10 @@ export class MessageRouterImpl extends AbstractMessageRouter {
288
289
  async sendCallError(correlationId, stationId, tenantId, protocol, action, error, _origin) {
289
290
  const message = error.asCallError();
290
291
  const identifier = createIdentifier(tenantId, stationId);
291
- const cachedActionMessageId = await this._cache.get(identifier, CacheNamespace.Transactions);
292
+ const inboundCacheKey = this._inboundCallCacheKey(identifier, correlationId);
293
+ const cachedActionMessageId = await this._cache.get(inboundCacheKey, CacheNamespace.Transactions);
292
294
  if (!cachedActionMessageId) {
293
- this._logger.error('Failed to send callError due to missing message id', identifier, message);
295
+ this._logger.error('Failed to send callError due to missing message id', inboundCacheKey, message);
294
296
  return { success: false };
295
297
  }
296
298
  const [cachedAction, cachedMessageId] = cachedActionMessageId?.split(/:(.*)/) ?? []; // Returns all characters after first ':' in case ':' is used in messageId
@@ -298,12 +300,12 @@ export class MessageRouterImpl extends AbstractMessageRouter {
298
300
  const rawMessage = JSON.stringify(message);
299
301
  const success = await Promise.all([
300
302
  this._sendMessage(identifier, protocol, cachedAction, MessageState.Response, rawMessage, message),
301
- this._cache.remove(identifier, CacheNamespace.Transactions),
303
+ this._cache.remove(inboundCacheKey, CacheNamespace.Transactions),
302
304
  ]).then((successes) => successes.every(Boolean));
303
305
  return { success };
304
306
  }
305
307
  else {
306
- this._logger.error('Failed to send callError due to mismatch in message id or action', identifier, cachedActionMessageId, cachedAction, message);
308
+ this._logger.error('Failed to send callError due to mismatch in message id or action', inboundCacheKey, cachedActionMessageId, cachedAction, message);
307
309
  return { success: false };
308
310
  }
309
311
  }
@@ -340,17 +342,30 @@ export class MessageRouterImpl extends AbstractMessageRouter {
340
342
  errors: errors,
341
343
  });
342
344
  }
343
- // Ensure only one call is processed at a time
344
- const callOngoing = this._cache.onChange(identifier, this.config.maxCallLengthSeconds, CacheNamespace.Transactions);
345
- let successfullySet = await this._cache.setIfNotExist(identifier, `${action}:${messageId}`, CacheNamespace.Transactions, this._config.maxCallLengthSeconds);
346
- if (!successfullySet) {
347
- this._logger.debug('Ongoing Call already in progress, waiting for ongoing call before handling', identifier, message);
348
- await callOngoing; // Wait for ongoing call to finish
349
- this._logger.debug('Ongoing Call finished, proceeding with call', identifier, message);
350
- successfullySet = await this._cache.setIfNotExist(identifier, `${action}:${messageId}`, CacheNamespace.Transactions, this._config.maxCallLengthSeconds);
351
- if (!successfullySet) {
352
- throw new OcppError(messageId, ErrorCode.RpcFrameworkError, 'Call already in progress', {});
345
+ // OCPP 2.0.1 allows concurrent inbound Calls with distinct messageIds. Track each
346
+ // inbound Call separately so high-frequency messages (e.g. TransactionEvent) are
347
+ // not serialized behind a single station-wide lock. Outbound Calls still use the
348
+ // station identifier as the cache key (see sendCall).
349
+ const inboundCacheKey = this._inboundCallCacheKey(identifier, messageId);
350
+ const maxWaitSeconds = this._config.maxCallLengthSeconds;
351
+ // Each onChange wait can take up to maxWaitSeconds (e.g. when Redis keyspace
352
+ // notifications are disabled). The total budget must exceed one such wait.
353
+ const maxInboundLockWaitSeconds = maxWaitSeconds * 5;
354
+ const deadline = Date.now() + maxInboundLockWaitSeconds * 1000;
355
+ let successfullySet = false;
356
+ do {
357
+ // Subscribe before attempting to set so we don't miss the release notification.
358
+ const callOngoing = this._cache.onChange(inboundCacheKey, maxWaitSeconds, CacheNamespace.Transactions);
359
+ successfullySet = await this._cache.setIfNotExist(inboundCacheKey, `${action}:${messageId}`, CacheNamespace.Transactions, this._config.maxCallLengthSeconds);
360
+ if (successfullySet) {
361
+ // Lock acquired; the dangling subscription resolves on its own timeout.
362
+ break;
353
363
  }
364
+ this._logger.debug('Duplicate inbound Call in progress, waiting for prior attempt before retrying', identifier, messageId, action);
365
+ await callOngoing; // Station retried the same messageId before we responded
366
+ } while (Date.now() < deadline);
367
+ if (!successfullySet) {
368
+ throw new OcppError(messageId, ErrorCode.RpcFrameworkError, 'Call already in progress', {});
354
369
  }
355
370
  try {
356
371
  // Route call
@@ -372,7 +387,9 @@ export class MessageRouterImpl extends AbstractMessageRouter {
372
387
  this._logger.error('sendCallError failed', err);
373
388
  })
374
389
  .finally(() => {
375
- this._cache.remove(identifier, CacheNamespace.Transactions).catch((err) => {
390
+ this._cache
391
+ .remove(this._inboundCallCacheKey(identifier, messageId), CacheNamespace.Transactions)
392
+ .catch((err) => {
376
393
  this._logger.error('cache remove failed', err);
377
394
  });
378
395
  });
@@ -468,7 +485,7 @@ export class MessageRouterImpl extends AbstractMessageRouter {
468
485
  await this._networkHook(identifier, rawMessage); // Throws an error if the message is not sent, or returns void
469
486
  }
470
487
  catch (error) {
471
- this._logger.error('Failed to send message:', identifier, rawMessage, error);
488
+ this._logger.error('Failed to send message:', identifier, maskRawOcppMessageSecrets(rawMessage), error);
472
489
  // Don't dispatch if the message was not sent
473
490
  return false;
474
491
  }
@@ -627,5 +644,12 @@ export class MessageRouterImpl extends AbstractMessageRouter {
627
644
  }
628
645
  return action;
629
646
  }
647
+ /**
648
+ * Cache key for an inbound Call from a charging station.
649
+ * Distinct from the station-wide key used for outbound Calls (sendCall).
650
+ */
651
+ _inboundCallCacheKey(identifier, messageId) {
652
+ return `${identifier}:in:${messageId}`;
653
+ }
630
654
  }
631
655
  //# sourceMappingURL=router.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/module/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/module/router.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { OCPPVersionType } from '@citrineos/base';
2
- import { MessageOrigin, MessageState } from '@citrineos/base';
3
- import type { IOCPPMessageRepository, ISubscriptionRepository } from '@citrineos/data';
4
- import { Subscription } from '@citrineos/data';
1
+ import type { OCPPMessageDto, OCPPVersionType } from '@zetra/citrineos-base';
2
+ import { MessageOrigin, MessageState, OidcTokenProvider } from '@zetra/citrineos-base';
3
+ import type { IOCPPMessageRepository, ISubscriptionRepository } from '@zetra/citrineos-data';
4
+ import { Subscription } from '@zetra/citrineos-data';
5
5
  import type { ILogObj } from 'tslog';
6
6
  import { Logger } from 'tslog';
7
7
  export declare class WebhookDispatcher {
@@ -9,17 +9,19 @@ export declare class WebhookDispatcher {
9
9
  protected _logger: Logger<ILogObj>;
10
10
  protected _ocppMessageRepository: IOCPPMessageRepository;
11
11
  protected _subscriptionRepository: ISubscriptionRepository;
12
+ protected _oidcTokenProvider?: OidcTokenProvider;
12
13
  protected _identifiers: Set<string>;
13
14
  protected _onConnectionCallbacks: Map<string, OnConnectionCallback[]>;
14
15
  protected _onCloseCallbacks: Map<string, OnCloseCallback[]>;
15
16
  protected _onMessageCallbacks: Map<string, OnMessageCallback[]>;
16
17
  protected _sentMessageCallbacks: Map<string, OnSentMessageCallback[]>;
17
- constructor(ocppMessageRepository: IOCPPMessageRepository, subscriptionRepository: ISubscriptionRepository, logger?: Logger<ILogObj>);
18
+ constructor(ocppMessageRepository: IOCPPMessageRepository, subscriptionRepository: ISubscriptionRepository, logger?: Logger<ILogObj>, oidcTokenProvider?: OidcTokenProvider);
18
19
  register(tenantId: number, stationId: string): Promise<void>;
19
20
  deregister(tenantId: number, stationId: string): Promise<void>;
20
21
  dispatchMessageReceivedUnparsed(tenantId: number, stationId: string, message: string, timestamp: string, protocol: OCPPVersionType, action: string, state: MessageState): Promise<void>;
21
22
  dispatchMessageReceived(tenantId: number, stationId: string, timestamp: string, protocol: OCPPVersionType, action: string, state: MessageState, rpcMessage: any): Promise<void>;
22
23
  dispatchMessageSent(identifier: string, action: string, state: MessageState, timestamp: string, protocol: OCPPVersionType, rpcMessage: any): Promise<void>;
24
+ protected _logOcppMessage(ocppMessage: OCPPMessageDto): void;
23
25
  protected _refreshSubscriptions(): Promise<void>;
24
26
  /**
25
27
  * Loads all subscriptions for a given connection into memory
@@ -1,5 +1,5 @@
1
- import { createIdentifier, getStationIdFromIdentifier, getTenantIdFromIdentifier, MessageOrigin, MessageState, } from '@citrineos/base';
2
- import { Subscription } from '@citrineos/data';
1
+ import { createIdentifier, getStationIdFromIdentifier, getTenantIdFromIdentifier, maskOcppMessageSecrets, maskRawOcppMessageSecrets, MessageOrigin, MessageState, OidcTokenProvider, } from '@zetra/citrineos-base';
2
+ import { Subscription } from '@zetra/citrineos-data';
3
3
  import { Logger } from 'tslog';
4
4
  import { v4 as uuidv4 } from 'uuid';
5
5
  export class WebhookDispatcher {
@@ -7,15 +7,17 @@ export class WebhookDispatcher {
7
7
  _logger;
8
8
  _ocppMessageRepository;
9
9
  _subscriptionRepository;
10
+ _oidcTokenProvider;
10
11
  _identifiers = new Set();
11
12
  // Structure of the maps: key = identifier, value = array of callbacks
12
13
  _onConnectionCallbacks = new Map();
13
14
  _onCloseCallbacks = new Map();
14
15
  _onMessageCallbacks = new Map();
15
16
  _sentMessageCallbacks = new Map();
16
- constructor(ocppMessageRepository, subscriptionRepository, logger) {
17
+ constructor(ocppMessageRepository, subscriptionRepository, logger, oidcTokenProvider) {
17
18
  this._ocppMessageRepository = ocppMessageRepository;
18
19
  this._subscriptionRepository = subscriptionRepository;
20
+ this._oidcTokenProvider = oidcTokenProvider;
19
21
  this._logger = logger
20
22
  ? logger.getSubLogger({ name: this.constructor.name })
21
23
  : new Logger({ name: this.constructor.name });
@@ -51,6 +53,8 @@ export class WebhookDispatcher {
51
53
  async dispatchMessageReceivedUnparsed(tenantId, stationId, message, timestamp, protocol, action, state) {
52
54
  const identifier = createIdentifier(tenantId, stationId);
53
55
  try {
56
+ // The frame may be valid JSON that only failed later in processing.
57
+ const maskedMessage = maskRawOcppMessageSecrets(message);
54
58
  // UUID generated so that unparsed messages don't end up referencing each other
55
59
  const messageId = uuidv4();
56
60
  const origin = MessageOrigin.ChargingStation;
@@ -61,7 +65,7 @@ export class WebhookDispatcher {
61
65
  ['protocol', protocol],
62
66
  ['action', action],
63
67
  ]);
64
- const messagePromise = this._ocppMessageRepository.createOCPPMessage(tenantId, {
68
+ const ocppMessage = {
65
69
  tenantId: tenantId,
66
70
  stationId: stationId,
67
71
  correlationId: messageId,
@@ -69,10 +73,14 @@ export class WebhookDispatcher {
69
73
  state: state,
70
74
  protocol: protocol,
71
75
  action: action,
72
- message: message,
76
+ message: maskedMessage,
73
77
  timestamp: timestamp,
74
- });
75
- const promises = this._onMessageCallbacks.get(identifier)?.map((callback) => callback(message, info)) ?? [];
78
+ };
79
+ this._logOcppMessage(ocppMessage);
80
+ const messagePromise = this._ocppMessageRepository.createOCPPMessage(tenantId, ocppMessage);
81
+ const promises = this._onMessageCallbacks
82
+ .get(identifier)
83
+ ?.map((callback) => callback(maskedMessage, info)) ?? [];
76
84
  promises.push(messagePromise);
77
85
  await Promise.all(promises);
78
86
  }
@@ -84,7 +92,9 @@ export class WebhookDispatcher {
84
92
  const identifier = createIdentifier(tenantId, stationId);
85
93
  const messageId = rpcMessage[1];
86
94
  const origin = MessageOrigin.ChargingStation;
87
- const messageRecord = await this._ocppMessageRepository.createOCPPMessage(tenantId, {
95
+ // Credentials reach neither OCPPMessages, nor the log mirror, nor the subscribers.
96
+ const maskedMessage = maskOcppMessageSecrets(rpcMessage);
97
+ const ocppMessage = {
88
98
  tenantId: tenantId,
89
99
  stationId: stationId,
90
100
  correlationId: messageId,
@@ -92,9 +102,11 @@ export class WebhookDispatcher {
92
102
  state: state,
93
103
  action: action,
94
104
  protocol: protocol,
95
- message: rpcMessage,
105
+ message: maskedMessage,
96
106
  timestamp: timestamp,
97
- });
107
+ };
108
+ this._logOcppMessage(ocppMessage);
109
+ const messageRecord = await this._ocppMessageRepository.createOCPPMessage(tenantId, ocppMessage);
98
110
  if (action === undefined) {
99
111
  this._logger.debug(`Using action from stored message for correlationId ${messageId} and tenantId ${tenantId}: ${messageRecord.action}`);
100
112
  action = messageRecord.action;
@@ -107,7 +119,7 @@ export class WebhookDispatcher {
107
119
  ['protocol', protocol],
108
120
  ['action', action ? action : 'undefined'],
109
121
  ]);
110
- const rawMessage = JSON.stringify(rpcMessage);
122
+ const rawMessage = JSON.stringify(maskedMessage);
111
123
  const promises = this._onMessageCallbacks.get(identifier)?.map((callback) => callback(rawMessage, info).catch((reason) => {
112
124
  this._logger.error(`Failed to execute onMessage callback for ${identifier} with messageId ${messageId}: ${reason}`);
113
125
  return false;
@@ -123,7 +135,9 @@ export class WebhookDispatcher {
123
135
  const stationId = getStationIdFromIdentifier(identifier);
124
136
  const messageId = rpcMessage[1];
125
137
  const origin = MessageOrigin.ChargingStationManagementSystem;
126
- const messageRecordPromise = this._ocppMessageRepository.createOCPPMessage(tenantId, {
138
+ // The frame has already left for the station: only the recorded copy is masked.
139
+ const maskedMessage = maskOcppMessageSecrets(rpcMessage);
140
+ const ocppMessage = {
127
141
  tenantId: tenantId,
128
142
  stationId: stationId,
129
143
  correlationId: messageId,
@@ -131,9 +145,11 @@ export class WebhookDispatcher {
131
145
  state: state,
132
146
  action: action,
133
147
  protocol: protocol,
134
- message: rpcMessage,
148
+ message: maskedMessage,
135
149
  timestamp: timestamp,
136
- });
150
+ };
151
+ this._logOcppMessage(ocppMessage);
152
+ const messageRecordPromise = this._ocppMessageRepository.createOCPPMessage(tenantId, ocppMessage);
137
153
  try {
138
154
  const info = new Map([
139
155
  ['correlationId', messageId],
@@ -142,7 +158,7 @@ export class WebhookDispatcher {
142
158
  ['protocol', protocol],
143
159
  ['action', action ? action : 'undefined'],
144
160
  ]);
145
- const rawMessage = JSON.stringify(rpcMessage);
161
+ const rawMessage = JSON.stringify(maskedMessage);
146
162
  const promises = this._sentMessageCallbacks.get(identifier)?.map((callback) => callback(rawMessage, info).catch((reason) => {
147
163
  this._logger.error(`Failed to execute sentMessage callback for ${identifier} with messageId ${messageId}: ${reason}`);
148
164
  return false;
@@ -153,6 +169,10 @@ export class WebhookDispatcher {
153
169
  this._logger.error(`Failed to dispatch message sent for ${identifier} : ${err}`);
154
170
  }
155
171
  }
172
+ // Mirrors each OCPPMessages row into the logs so old rows can be purged from the DB.
173
+ _logOcppMessage(ocppMessage) {
174
+ this._logger.info(`Logs OCPP: ${JSON.stringify(ocppMessage)}`);
175
+ }
156
176
  async _refreshSubscriptions() {
157
177
  if (this._identifiers.size === 0) {
158
178
  return;
@@ -255,12 +275,24 @@ export class WebhookDispatcher {
255
275
  * @return {Promise<boolean>} a Promise that resolves to a boolean indicating success
256
276
  */
257
277
  async _subscriptionCallback(requestBody, url) {
278
+ const headers = {
279
+ 'Content-Type': 'application/json',
280
+ };
281
+ // Same contract as message API callbacks: never send unauthenticated when OIDC is configured.
282
+ if (this._oidcTokenProvider) {
283
+ try {
284
+ headers['Authorization'] = `Bearer ${await this._oidcTokenProvider.getToken()}`;
285
+ }
286
+ catch (error) {
287
+ this._logger.error(`Failed to get OIDC token for subscription ${url} on charging station ${requestBody.stationId}.
288
+ Event: ${requestBody.event}, ${error}`);
289
+ return false;
290
+ }
291
+ }
258
292
  try {
259
293
  const response = await fetch(url, {
260
294
  method: 'POST',
261
- headers: {
262
- 'Content-Type': 'application/json',
263
- },
295
+ headers,
264
296
  body: JSON.stringify(requestBody),
265
297
  });
266
298
  if (!response.ok) {
@@ -1 +1 @@
1
- {"version":3,"file":"webhook.dispatcher.js","sourceRoot":"","sources":["../../src/module/webhook.dispatcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"webhook.dispatcher.js","sourceRoot":"","sources":["../../src/module/webhook.dispatcher.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zetra/citrineos-ocpprouter",
3
- "version": "1.8.3-fork.13",
3
+ "version": "1.8.3-fork.131",
4
4
  "type": "module",
5
5
  "description": "The ocpprouter module for OCPP v2.0.1. This module is not intended to be used directly, but rather as a dependency for other modules.",
6
6
  "main": "dist/index.js",
@@ -19,9 +19,13 @@
19
19
  "license": "Apache-2.0",
20
20
  "devDependencies": {},
21
21
  "dependencies": {
22
- "@zetra/citrineos-base": "1.8.3-fork.13",
23
- "@zetra/citrineos-data": "1.8.3-fork.13",
24
- "@zetra/citrineos-util": "1.8.3-fork.13",
22
+ "@zetra/citrineos-base": "1.8.3-fork.131",
23
+ "@zetra/citrineos-data": "1.8.3-fork.131",
24
+ "@zetra/citrineos-util": "1.8.3-fork.131",
25
25
  "node-forge": "1.3.2"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/enexflow/citrineos-core.git"
26
30
  }
27
31
  }