intuit / intuit/spring-pulsar

Add support for client authentication using Athenz

Open
#53 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
Kotlin
Stars
13
Forks
8
PR merge metrics
No merged PRs in 30d

Description

**Is your feature request related to a problem? Please describe.**
We have still not added support for Athenz. For some odd reason, Athenz related classes in pulsar-client is not avaialble.

As per the docs [here](https://pulsar.apache.org/docs/2.10.x/client-libraries-java/#athenz). Below is the code to define and athez auth config.

```
Map authParams = new HashMap();
authParams.put("tenantDomain", "shopping"); // Tenant domain name
authParams.put("tenantService", "some_app"); // Tenant service name
authParams.put("providerDomain", "pulsar"); // Provider domain name
authParams.put("privateKey", "file:///path/to/private.pem"); // Tenant private key path
authParams.put("keyId", "v1"); // Key id for the tenant private key (optional, default: "0")

Authentication athenzAuth = AuthenticationFactory
.create(AuthenticationAthenz.class.getName(), authParams);

```

But the **AuthenticationAthenz** is not available in pulsar-client library version 2.7.5.

**Describe the solution you'd like**
Support for client authentication using Athenz

Contributor guide

Open the contributing guide

Research direction

Start by locating the existing client authentication integration in this Kotlin library and reviewing how pulsar-client 2.7.5 exposes AuthenticationFactory and AuthenticationAthenz. Compare that integration with the Athenz configuration shown in the issue and the linked Pulsar documentation. Done means client authentication using those Athenz parameters is supported.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, kotlin
Domain
authentication, backend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.