
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
@openfeature/config-cat-provider
Advanced tools
This is an OpenFeature provider implementation for using [ConfigCat](https://configcat.com), a managed feature flag service in Node.js applications.
This is an OpenFeature provider implementation for using ConfigCat, a managed feature flag service in Node.js applications.
$ npm install @openfeature/config-cat-provider
The OpenFeature SDK is required as peer dependency.
The minimum required version of @openfeature/server-sdk
currently is 1.13.5
.
The minimum required version of @configcat/sdk
currently is 1.0.1
.
$ npm install @openfeature/server-sdk @configcat/sdk
The ConfigCat provider uses the ConfigCat Node.js SDK.
It can be created by passing the ConfigCat SDK options to ConfigCatProvider.create
.
The available options can be found in the ConfigCat Node.js SDK.
import { OpenFeature } from "@openfeature/server-sdk";
import { ConfigCatProvider } from '@openfeature/config-cat-provider';
// Create and set the provider.
const provider = ConfigCatProvider.create('<sdk_key>');
await OpenFeature.setProviderAndWait(provider);
// Obtain a client instance and evaluate feature flags.
const client = OpenFeature.getClient();
const value = await client.getBooleanValue('isAwesomeFeatureEnabled', false);
console.log(`isAwesomeFeatureEnabled: ${value}`);
// On application shutdown, clean up the OpenFeature provider and the underlying ConfigCat client.
await OpenFeature.clearProviders();
import { OpenFeature } from "@openfeature/server-sdk";
import { ConfigCatProvider } from '@openfeature/config-cat-provider';
import { createConsoleLogger, LogLevel, PollingMode } from '@configcat/sdk';
// Create and set the provider.
const provider = ConfigCatProvider.create('<sdk_key>', PollingMode.LazyLoad, {
logger: createConsoleLogger(LogLevel.Info),
setupHooks: (hooks) => hooks.on('clientReady', () => console.log('Client is ready!')),
});
await OpenFeature.setProviderAndWait(provider);
// ...
The OpenFeature Evaluation Context is mapped to the ConfigCat User Object.
The ConfigCat User Object has three predefined attributes, and allows for additional attributes. The following shows how the attributes are mapped:
OpenFeature EvaluationContext Field | ConfigCat User Field | Required |
---|---|---|
targetingKey | identifier | yes |
no | ||
country | country | no |
Any Other | custom | no |
The custom types are mapped the following way:
OpenFeature EvaluationContext Field Type | ConfigCat User Field Type |
---|---|
string | string |
number | number |
boolean | string |
Array | Array |
Array | Array |
object | string |
The following example shows the conversion between an OpenFeature Evaluation Context and the corresponding ConfigCat User:
{
"targetingKey": "userId",
"email": "email",
"country": "country",
"customString": "customString",
"customNumber": 1,
"customBoolean": true,
"customObject": {
"prop1": "1",
"prop2": 2
},
"customStringArray": ["one", "two"],
"customArray": [
1,
"2",
false
]
}
{
"identifier": "userId",
"email": "email",
"country": "country",
"custom": {
"targetingKey": "userId",
"customString": "customString",
"customBoolean": "true",
"customNumber": 1,
"customObject": "{\"prop1\":\"1\",\"prop2\":2}",
"customStringArray": ["one", "two"],
"customArray": "[1,\"2\",false]"
}
}
The ConfigCat provider emits the following OpenFeature events:
Run nx package providers-config-cat
to build the library.
Run nx test providers-config-cat
to execute the unit tests via Jest.
FAQs
This is an OpenFeature provider implementation for using [ConfigCat](https://configcat.com), a managed feature flag service in Node.js applications.
We found that @openfeature/config-cat-provider demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.