CryptoService
Class: CryptoService<T>
Defined in: packages/core/src/services/cryptoservice.service.ts:108
Webda Modda
Extends
Service<T>
Type Parameters
T
T extends CryptoServiceParameters = CryptoServiceParameters
Implements
Constructors
Constructor
new CryptoService<
T>(name,params):CryptoService<T>
Defined in: packages/core/src/services/service.ts:192
Service
Parameters
name
string
The name of the service
params
T
The parameters block define in the configuration file
Returns
CryptoService<T>
Inherited from
Properties
_compiledCapabilities
protected_compiledCapabilities:Record<string,any> ={}
Defined in: packages/core/src/services/iservice.ts:58
Capabilities detected at compile-time from @WebdaCapability-tagged interfaces.
Populated during Service.resolve by reading the service's entry in
webda.module.json. Each key is a capability name (e.g., "request-filter"),
and the value is an empty object {} by default. Override getCapabilities
to provide capability-specific configuration or to conditionally disable capabilities.
See
getCapabilities
Inherited from
[WEBDA_EVENTS]
[WEBDA_EVENTS]:
object
Defined in: packages/core/src/services/service.ts:166
Set the Webda events here
Inherited from
age
age:
number
Defined in: packages/core/src/services/cryptoservice.service.ts:133
current
current:
string
Defined in: packages/core/src/services/cryptoservice.service.ts:132
currentAsymetricKey
currentAsymetricKey:
object
Defined in: packages/core/src/services/cryptoservice.service.ts:131
privateKey
privateKey:
string
publicKey
publicKey:
string
currentSymetricKey
currentSymetricKey:
string
Defined in: packages/core/src/services/cryptoservice.service.ts:130
jwks
jwks:
object={}
Defined in: packages/core/src/services/cryptoservice.service.ts:140
JWKS cache
Index Signature
[key: string]: object
keys
keys:
object
Defined in: packages/core/src/services/cryptoservice.service.ts:134
Index Signature
[key: string]: KeysDefinition
logger
protectedlogger:Logger
Defined in: packages/core/src/services/service.ts:179
Logger with class context
Inherited from
metrics?
protectedoptionalmetrics?:object
Defined in: packages/core/src/services/service.ts:183
Get metrics
Inherited from
name
readonlyname:string
Defined in: packages/core/src/services/iservice.ts:35
Inherited from
parameters
readonlyparameters:T
Defined in: packages/core/src/services/iservice.ts:36
Inherited from
createConfiguration?
staticoptionalcreateConfiguration?: (params) =>any
Defined in: packages/core/src/services/iservice.ts:41
Create configuration set by the application on load
Parameters
params
any
Returns
any
Inherited from
filterConfiguration?
staticoptionalfilterConfiguration?: (params) =>any
Defined in: packages/core/src/services/iservice.ts:46
Create configuration set by the application on load
Parameters
params
any
Returns
any
Inherited from
Parameters
staticParameters: typeofServiceParameters=ServiceParameters
Defined in: packages/core/src/services/service.ts:162
Service parameters
Inherited from
Methods
__clean()
abstract__clean():Promise<void>
Defined in: packages/core/src/services/service.ts:492
Clean the service data, can only be used in test mode
Returns
Promise<void>
Inherited from
addListener()
addListener<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:83
Type Parameters
Key
Key extends never
Parameters
eventName
Key
the event name
listener
(event) => void | Promise<void>
the event listener
Returns
this
this for chaining
See
EventEmitter.addListener
Inherited from
addRoute()
protectedaddRoute(url,methods,executer,openapi?,override?):void
Defined in: packages/core/src/services/service.ts:384
Add a route dynamicaly
Parameters
url
string
of the route can contains dynamic part like {uuid}
methods
the HTTP methods
executer
Function
Method to execute for this route
openapi?
the OpenAPI specification
override?
boolean = false
whether to override existing
Returns
void
Inherited from
authorizeClientEvent()
authorizeClientEvent(
_event,_context):boolean
Defined in: packages/core/src/services/service.ts:337
Authorize a public event subscription
Parameters
_event
string
the event name
_context
the execution context
Returns
boolean
true if the condition is met
Inherited from
checkKey()
checkKey(
keyId):Promise<boolean>
Defined in: packages/core/src/services/cryptoservice.service.ts:316
Parameters
keyId
string
the key identifier
Returns
Promise<boolean>
true if the condition is met
computeParameters()
computeParameters():
void
Defined in: packages/core/src/services/service.ts:201
Used to compute or derivate input parameter to attribute
Returns
void
Deprecated
Inherited from
decrypt()
decrypt(
token):Promise<any>
Defined in: packages/core/src/services/cryptoservice.service.ts:474
Decrypt data
Parameters
token
string
the token
Returns
Promise<any>
the result
Implementation of
emit()
emit<
Key>(event,data):Promise<void>
Defined in: packages/core/src/services/service.ts:473
Emit the event with data and wait for Promise to finish if listener returned a Promise
Type Parameters
Key
Key extends never
Parameters
event
Key
the event name
data
object[Key]
the data to process
Returns
Promise<void>
Inherited from
encrypt()
encrypt(
data):Promise<string>
Defined in: packages/core/src/services/cryptoservice.service.ts:386
Encrypt data
Parameters
data
any
the data to process
Returns
Promise<string>
the result string
Implementation of
generateAsymetricKeys()
generateAsymetricKeys():
object
Defined in: packages/core/src/services/cryptoservice.service.ts:218
Generate asymetric key
Returns
object
the result
privateKey
privateKey:
string
publicKey
publicKey:
string
generateSymetricKey()
generateSymetricKey():
string
Defined in: packages/core/src/services/cryptoservice.service.ts:231
Generate symetric key
Returns
string
the result string
getCapabilities()
getCapabilities():
Record<string,any>
Defined in: packages/core/src/services/iservice.ts:86
Return the capabilities of this service.
By default returns capabilities detected at compile-time from
Returns
Record<string, any>
the result
Webda Capability-tagged
interfaces in webda.module.json.
Override to disable capabilities based on configuration:
getCapabilities() {
const caps = super.getCapabilities();
if (!this.parameters.enabled) delete caps["request-filter"];
return caps;
}
Inherited from
getClientEvents()
getClientEvents():
string[]
Defined in: packages/core/src/services/service.ts:325
Return the events that an external system can subscribe to
Returns
string[]
the list of results
Inherited from
getCurrentKeys()
getCurrentKeys():
Promise<{id:string;keys:KeysDefinition; }>
Defined in: packages/core/src/services/cryptoservice.service.ts:239
Return current key set
Returns
Promise<{ id: string; keys: KeysDefinition; }>
the result
getJWTHeader()
getJWTHeader(
token):any
Defined in: packages/core/src/services/cryptoservice.service.ts:408
Parse the JWT header section
Parameters
token
string
the token
Returns
any
the result
getJWTKey()
getJWTKey(
header,callback):Promise<void>
Defined in: packages/core/src/services/cryptoservice.service.ts:335
Get JWT key based on kid
Parameters
header
any
the JWT header
callback
any
the callback function
Returns
Promise<void>
getMaxListeners()
getMaxListeners():
number
Defined in: packages/core/src/events/asynceventemitter.ts:90
Returns
number
Inherited from
getMetric()
getMetric<
T>(type,configuration):T
Defined in: packages/core/src/services/service.ts:310
Add service name label
Type Parameters
T
T = Gauge<string> | Counter<string> | Histogram<string>
Parameters
type
CustomConstructor<T, [MetricConfiguration<T>]>
the type to look up
configuration
the configuration
Returns
T
the result
Inherited from
getName()
getName():
string
Defined in: packages/core/src/services/service.ts:483
Get service name
Returns
string
the result string
Inherited from
getNextId()
getNextId():
object
Defined in: packages/core/src/services/cryptoservice.service.ts:490
Get next id
Returns
object
the result
age
age:
number
id
id:
string
getOpenApiReplacements()
getOpenApiReplacements():
any
Defined in: packages/core/src/services/service.ts:413
Return variables for replacement in openapi
Returns
any
the result
Inherited from
Service.getOpenApiReplacements
getOperationId()
getOperationId(
id):string
Defined in: packages/core/src/services/service.ts:371
If undefined is returned it cancel the operation registration
Parameters
id
string
the identifier
Returns
string
the result
Inherited from
getParameters()
getParameters():
T
Defined in: packages/core/src/services/service.ts:209
Get the service parameters
Returns
T
the result
Inherited from
getService()
getService<
T>(name):ServicesMap[T]
Defined in: packages/core/src/services/service.ts:300
Get a service by name
Type Parameters
T
T extends keyof ServicesMap
Parameters
name
T
the name to use
Returns
ServicesMap[T]
the result map
Deprecated
Use useService, might reconsider
Inherited from
getState()
getState():
ServiceStates
Defined in: packages/core/src/services/service.ts:172
Get the current state
Returns
the result
Inherited from
getUrl()
getUrl(
url,_methods):string
Defined in: packages/core/src/services/service.ts:348
Return the full path url based on parameters
Parameters
url
string
relative url to service
_methods
in case we need filtering (like Store)
Returns
string
absolute url or undefined if need to skip the Route
Inherited from
hmac()
hmac(
data,keyId?):Promise<string>
Defined in: packages/core/src/services/cryptoservice.service.ts:261
Retrieve a HMAC for a string
Parameters
data
any
the data to process
keyId?
string
to use
Returns
Promise<string>
the result string
hmacVerify()
hmacVerify(
data,hmac):Promise<boolean>
Defined in: packages/core/src/services/cryptoservice.service.ts:275
Verify a HMAC for a string
Parameters
data
any
the data to process
hmac
string
the HMAC instance
Returns
Promise<boolean>
true if the condition is met
init()
init():
Promise<CryptoService<T>>
Defined in: packages/core/src/services/cryptoservice.service.ts:150
Returns
Promise<CryptoService<T>>
Overrides
initMetrics()
initMetrics():
void
Defined in: packages/core/src/services/service.ts:290
Init the metrics
Returns
void
Inherited from
initOperations()
initOperations():
void
Defined in: packages/core/src/services/service.ts:420
Init the operations from
Returns
void
Operation
decorators on this service
Inherited from
jwtSign()
jwtSign(
data,options?):Promise<string>
Defined in: packages/core/src/services/cryptoservice.service.ts:292
JWT token generation
Parameters
data
any
the data to process
options?
the options
Returns
Promise<string>
the result string
jwtVerify()
jwtVerify(
token,options?):Promise<any>
Defined in: packages/core/src/services/cryptoservice.service.ts:361
JWT token verification
Parameters
token
string
the token
options?
the options
Returns
Promise<any>
the result
listeners()
listeners(
eventName):Function[]
Defined in: packages/core/src/events/asynceventemitter.ts:183
Get all listeners for an event
Parameters
eventName
never
the event name
Returns
Function[]
the list of results
Inherited from
load()
load():
Promise<boolean>
Defined in: packages/core/src/services/cryptoservice.service.ts:195
Load keys from registry
Returns
Promise<boolean>
true if the condition is met
loadCapabilities()
protectedloadCapabilities():void
Defined in: packages/core/src/services/service.ts:270
Load capabilities from webda.module.json metadata into _compiledCapabilities.
Called during resolve after dependency injection. Reads the service's
type name from parameters, looks it up in the application's module metadata
(moddas or beans section), and populates _compiledCapabilities with an
empty object for each declared capability name.
Fails silently if the application is not available (e.g., in unit tests where services are instantiated without a full application context).
Returns
void
Example
// If webda.module.json contains:
// { "moddas": { "MyApp/HawkService": { "capabilities": ["request-filter", "cors-filter"] } } }
// Then after resolve(), this.getCapabilities() returns:
// { "request-filter": {}, "cors-filter": {} }
See
getCapabilities
Inherited from
log()
log(
level, ...args):void
Defined in: packages/core/src/services/service.ts:513
Parameters
level
WorkerLogLevel
to log
args
...any[]
additional arguments
Returns
void
Inherited from
off()
off<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:141
Type Parameters
Key
Key extends never
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.off
Inherited from
on()
on<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:119
Type Parameters
Key
Key extends never
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.once
Inherited from
once()
once<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:108
Type Parameters
Key
Key extends never
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.once
Inherited from
removeAllListeners()
removeAllListeners<
Key>(eventName?):this
Defined in: packages/core/src/events/asynceventemitter.ts:150
Type Parameters
Key
Key extends never
Parameters
eventName?
Key
the event name
Returns
this
this for chaining
See
EventEmitter.removeAllListeners
Inherited from
removeListener()
removeListener<
Key>(eventName,listener):this
Defined in: packages/core/src/events/asynceventemitter.ts:130
Type Parameters
Key
Key extends never
Parameters
eventName
Key
the event name
listener
(event) => void
the event listener
Returns
this
this for chaining
See
EventEmitter.removeListener
Inherited from
resolve()
resolve():
this
Defined in: packages/core/src/services/service.ts:236
Resolve parameters and load metadata. @Route-declared routes are scanned
and registered by Router.discoverRoutes(services) from Core.init()
once every service has resolved — nothing to do per-service here.
Returns
this
the result
Inherited from
rotate()
rotate():
Promise<void>
Defined in: packages/core/src/services/cryptoservice.service.ts:499
Rotate keys
Returns
Promise<void>
serveJWKS()
serveJWKS(
context):Promise<void>
Defined in: packages/core/src/services/cryptoservice.service.ts:170
Parameters
context
the execution context
Returns
Promise<void>
setMaxListeners()
setMaxListeners(
n):this
Defined in: packages/core/src/events/asynceventemitter.ts:97
Parameters
n
number
Returns
this
Inherited from
stop()
stop():
Promise<void>
Defined in: packages/core/src/services/service.ts:217
Shutdown the current service if action need to be taken
Returns
Promise<void>
Inherited from
toJSON()
toJSON():
string
Defined in: packages/core/src/services/service.ts:452
Prevent service to be serialized
Returns
string
the result
Inherited from
toString()
toString():
string
Defined in: packages/core/src/services/service.ts:225
Return service representation
Returns
string
the result
Inherited from
decryptConfiguration()
staticdecryptConfiguration(data):Promise<any>
Defined in: packages/core/src/services/cryptoservice.service.ts:445
Parameters
data
any
the data to process
Returns
Promise<any>
the result
encryptConfiguration()
staticencryptConfiguration(data):Promise<any>
Defined in: packages/core/src/services/cryptoservice.service.ts:417
Encrypt configuration
Parameters
data
any
the data to process
Returns
Promise<any>
the result
registerEncrypter()
staticregisterEncrypter(name,encrypter):void
Defined in: packages/core/src/services/cryptoservice.service.ts:121
Register an encrypter for configuration
Parameters
name
string
the name to use
encrypter
the encrypter implementation
decrypt
(data) => Promise<string>
the encrypter.decrypt
encrypt
(data) => Promise<string>
the encrypter.encrypt
Returns
void