dapr / dapr/components-contrib
Implement OIDC Authentication against Keycloak for Apache Pulsar
- Dominant language
- Go
- Stars
- 602
- Forks
- 580
- Avg merge
- 4d 9h
- Merged PRs (30d)
- 6
Description
## Describe the feature
OIDC provides a more flexible, modern and standard-based approach to authentication.
Currently, the Apache Pulsar PubSub [component](https://github.com/dapr/components-contrib/blob/master/pubsub/pulsar/pulsar.go) handles authentication by reading a [Pulsar-generated token](https://pulsar.apache.org/docs/2.11.x/security-jwt/#generate-tokens) defined in a PubSub Component [manifest](https://docs.dapr.io/reference/components-reference/supported-pubsub/setup-pulsar/).
This request is to add an OIDC [Client Credentials grant](https://developers.onelogin.com/openid-connect/api/client-credentials-grant) authentication flow to the Apache Pulsar PubSub component.
References:
[Keycloak - Identity and Access Management for Modern Applications - Packt Publishing](https://www.packtpub.com/product/keycloak-identity-and-access-management-for-modern-applications/9781800562493)
[Go authentication example program from book above](https://github.com/PacktPublishing/Keycloak-Identity-and-Access-Management-for-Modern-Applications/tree/master/ch7/golang)
## Release Note
RELEASE NOTE:
Contributor guide
Research direction
Start with pubsub/pulsar/pulsar.go and the Pulsar component manifest documentation linked in the issue. Read the referenced client-credentials flow and Keycloak example to understand the required authentication inputs. Done means the component supports OIDC Client Credentials authentication against Keycloak in addition to Pulsar-generated tokens, with the configuration documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- authentication, distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100