Authentication mechanism for AWS MSK IAM for KafkaJS.
npm install @jm18457/kafkajs-msk-iam-authentication-mechanismRequires kafkajs version 2.2.0 or higher.
For more information look at https://kafka.js.org/docs/next/configuration#custom-authentication-mechanisms.
``shell`
npm i @jm18457/kafkajs-msk-iam-authentication-mechanism
`javascript
const { Kafka } = require('kafkajs')
const {
createMechanism
} = require('@jm18457/kafkajs-msk-iam-authentication-mechanism')
const kafka = new Kafka({
brokers: ['kafka1:9092', 'kafka2:9092'],
clientId: 'my-app',
ssl: true,
sasl: createMechanism({ region: 'eu-central-1' })
})
`
You can also use the old way of importing the library.
`javascript
const { Kafka } = require('kafkajs')
const {
Type,
awsIamAuthenticator,
} = require('@jm18457/kafkajs-msk-iam-authentication-mechanism')
const provider = awsIamAuthenticator({
region: 'eu-central-1'
})
const kafka = new Kafka({
brokers: ['kafka1:9092', 'kafka2:9092'],
clientId: 'my-app',
ssl: true,
sasl: {
mechanism: Type,
authenticationProvider: provider
}
})
`
For working examples look at the examples folder.
#### Options
Ƭ Options: Object
##### Type declaration
| Name | Type | Description |
| :------ | :------ | :------ |
| credentials? | AwsCredentialIdentity \| Provider<AwsCredentialIdentity\> | Default fromNodeProviderChain() |region
| | string | The AWS region in which the Kafka broker exists. |ttl?
| | string | Provides the time period, in seconds, for which the generated presigned URL is valid. Default 900 |userAgent?
| | string | Is a string passed in by the client library to describe the client. Default MSK_IAM |
##### Defined in
#### TYPE
• Const TYPE: "AWS_MSK_IAM"
##### Defined in
___
#### Type
• Const Type: "AWS_MSK_IAM"
##### Defined in
#### awsIamAuthenticator
▸ awsIamAuthenticator(options): (args: AuthenticationProviderArgs) => Authenticator
##### Parameters
| Name | Type |
| :------ | :------ |
| options | Options |
##### Returns
fn
▸ (args): Authenticator
###### Parameters
| Name | Type |
| :------ | :------ |
| args | AuthenticationProviderArgs |
###### Returns
Authenticator
##### Defined in
___
#### createAuthenticator
▸ createAuthenticator(options): (args: AuthenticationProviderArgs) => Authenticator
##### Parameters
| Name | Type |
| :------ | :------ |
| options | Options |
##### Returns
fn
▸ (args): Authenticator
###### Parameters
| Name | Type |
| :------ | :------ |
| args | AuthenticationProviderArgs |
###### Returns
Authenticator
##### Defined in
___
#### createMechanism
▸ createMechanism(options, mechanism?): Mechanism
##### Parameters
| Name | Type | Default value |
| :------ | :------ | :------ |
| options | Options | undefined |mechanism
| | string | TYPE |
##### Returns
Mechanism`
##### Defined in