Encode auth parameters into authParams property

- Replace `authParamsMap` with `authentication`

Fixes #95
This commit is contained in:
Alexander Preuß
2022-09-09 11:30:04 +02:00
committed by Chris Bono
parent c59db85990
commit ee194f4a6d
8 changed files with 388 additions and 14 deletions

View File

@@ -0,0 +1,91 @@
[appendix]
[[appendix.authentication]]
= Authentication
[[Athenz]]
== Athenz
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationAthenz
spring.pulsar.client.authentication.tenant-domain: ...
spring.pulsar.client.authentication.tenant-service: ...
spring.pulsar.client.authentication.provider-domain: ...
spring.pulsar.client.authentication.private-key: ...
spring.pulsar.client.authentication.private-key-path: ...
spring.pulsar.client.authentication.key-id: ...
spring.pulsar.client.authentication.auto-prefetch-enabled: ...
spring.pulsar.client.authentication.athenz-conf-path: ...
spring.pulsar.client.authentication.principal-header: ...
spring.pulsar.client.authentication.role-header: ...
spring.pulsar.client.authentication.zts-url: ...
----
====
[[Basic]]
== Basic
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationBasic
spring.pulsar.client.authentication.user-id: ...
spring.pulsar.client.authentication.password: ...
----
====
[[KeyStoreTls]]
== KeyStoreTls
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationKeyStoreTls
spring.pulsar.client.authentication.key-store-type: ...
spring.pulsar.client.authentication.key-store-path: ...
spring.pulsar.client.authentication.key-store-password: ...
----
====
[[OAuth2]]
== OAuth2
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: ...
spring.pulsar.client.authentication.issuer-url: ...
spring.pulsar.client.authentication.private-key: ...
spring.pulsar.client.authentication.audience: ...
spring.pulsar.client.authentication.scope: ...
----
====
[[Sasl]]
== Sasl
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationSasl
spring.pulsar.client.authentication.sasl-jaas-client-section-name: ...
spring.pulsar.client.authentication.server-type: ...
----
====
[[Tls]]
== Tls
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationTls
spring.pulsar.client.authentication.tls-cert-file: ...
spring.pulsar.client.authentication.tls-key-file: ...
----
====
[[Token]]
== Token
====
[source, yaml]
----
spring.pulsar.client.auth-plugin-class-name: org.apache.pulsar.client.impl.auth.AuthenticationToken
spring.pulsar.client.authentication.token: ...
----
====

View File

@@ -19,6 +19,40 @@ This is done through a factory bean called `PulsarClientFactoryBean`, which take
include::application-properties/pulsar-client.adoc[lines=3..-1]
====
To connect against a Pulsar cluster requiring authentication, you need to set the `authPluginClassName` and parameters for your authentication scheme.
To set the authentication parameters you can either pass them as a json-encoded string or as a nested map. Please see the examples below for each option:
====
[source, yaml]
----
# using json-encoded string
spring:
pulsar:
client:
auth-plugin-class-name: org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2
auth-params: "{\"privateKey\":\"file:///Users/some-key.json\",\"issuerUrl\":\"https://auth.server.cloud/", \"audience\":\"urn:sn:acme:dev:my-instance"}"
----
====
====
[source, yaml]
----
# using nested parameter map
spring:
pulsar:
client:
auth-plugin-class-name: org.apache.pulsar.client.impl.auth.oauth2.AuthenticationOAuth2
authentication.issuer-url: https://auth.server.cloud/
authentication.private-key: file:///Users/some-key.json
authentication.audience: urn:sn:acme:dev:my-instance
----
====
.[.underline]#Click ##here## to view how to configure the different **authentication schemes**#.
[%collapsible]
====
include::authentication.adoc[lines=3..-1]
====
[[pulsar-producer]]
==== Pulsar Producer