Anonymitaet commented on a change in pull request #14659:
URL: https://github.com/apache/pulsar/pull/14659#discussion_r825648899



##########
File path: site2/docs/security-extending.md
##########
@@ -23,173 +23,54 @@ PulsarClient client = PulsarClient.builder()
     .build();
 ```
 
-You can use 2 interfaces to implement on the client side:
- * `Authentication` -> 
http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Authentication.html
- * `AuthenticationDataProvider` -> 
http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html
-
-
-This in turn needs to provide the client credentials in the form of 
`org.apache.pulsar.client.api.AuthenticationDataProvider`. This leaves the 
chance to return different kinds of authentication token for different types of 
connection or by passing a certificate chain to use for TLS.
+You can implement 2 interfaces on the client side:
+ * 
[`Authentication`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Authentication.html)
+ * 
[`AuthenticationDataProvider`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html)
 
+This in turn requires you to provide the client credentials in the form of 
`org.apache.pulsar.client.api.AuthenticationDataProvider` and also leaves the 
chance to return different kinds of authentication token for different types of 
connection or by passing a certificate chain to use for TLS.
 
-You can find examples for client authentication providers at:
-
- * Mutual TLS Auth -- 
https://github.com/apache/pulsar/tree/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth
- * Athenz -- 
https://github.com/apache/pulsar/tree/master/pulsar-client-auth-athenz/src/main/java/org/apache/pulsar/client/impl/auth
+You can find the following examples for different client authentication 
plugins:
+ * [Mutual 
TLS](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationTls.java)
+ * 
[Athenz](https://github.com/apache/pulsar/blob/master/pulsar-client-auth-athenz/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationAthenz.java)
+ * 
[Kerberos](https://github.com/apache/pulsar/blob/master/pulsar-client-auth-sasl/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationSasl.java)
+ * [JSON Web Token 
(JWT)](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationToken.java)
+ * [OAuth 
2.0](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/oauth2/AuthenticationOAuth2.java)
+ * [Basic 
auth](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationBasic.java)
 
 ### Proxy/Broker authentication plugin
 
 On the proxy/broker side, you need to configure the corresponding plugin to 
validate the credentials that the client sends. The Proxy and Broker can 
support multiple authentication providers at the same time.
 
-In `conf/broker.conf` you can choose to specify a list of valid providers:
+In `conf/broker.conf`, you can choose to specify a list of valid providers:
 
 ```properties
 # Authentication provider name list, which is comma separated list of class 
names
 authenticationProviders=
 ```
-To implement `org.apache.pulsar.broker.authentication.AuthenticationProvider` 
on one single interface:
 
-```java
-/**
- * Provider of authentication mechanism
- */
-public interface AuthenticationProvider extends Closeable {
-
-    /**
-     * Perform initialization for the authentication provider
-     *
-     * @param config
-     *            broker config object
-     * @throws IOException
-     *             if the initialization fails
-     */
-    void initialize(ServiceConfiguration config) throws IOException;
-
-    /**
-     * @return the authentication method name supported by this provider
-     */
-    String getAuthMethodName();
-
-    /**
-     * Validate the authentication for the given credentials with the 
specified authentication data
-     *
-     * @param authData
-     *            provider specific authentication data
-     * @return the "role" string for the authenticated connection, if the 
authentication was successful
-     * @throws AuthenticationException
-     *             if the credentials are not valid
-     */
-    String authenticate(AuthenticationDataSource authData) throws 
AuthenticationException;
-
-}
-```
+For the implementation of the 
`org.apache.pulsar.broker.authentication.AuthenticationProvider` interface, 
refer to 
[here](https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProvider.java).
 
-The following is the example for Broker authentication plugins:
+You can find the following examples for different Broker authentication 
plugins:

Review comment:
       ```suggestion
   You can find the following examples for different broker authentication 
plugins:
   ```

##########
File path: site2/docs/security-oauth2.md
##########
@@ -153,6 +153,47 @@ params = '''
 client = Client("pulsar://my-cluster:6650", 
authentication=AuthenticationOauth2(params))
 ```
 
+### Node.js client
+
+To enable OAuth2 authentication in node.js client, you need to configure 
OAuth2 authentication.

Review comment:
       ```suggestion
   To enable OAuth2 authentication in Node.js client, you need to configure 
OAuth2 authentication.
   ```
   proper noun

##########
File path: site2/docs/security-extending.md
##########
@@ -23,173 +23,54 @@ PulsarClient client = PulsarClient.builder()
     .build();
 ```
 
-You can use 2 interfaces to implement on the client side:
- * `Authentication` -> 
http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Authentication.html
- * `AuthenticationDataProvider` -> 
http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html
-
-
-This in turn needs to provide the client credentials in the form of 
`org.apache.pulsar.client.api.AuthenticationDataProvider`. This leaves the 
chance to return different kinds of authentication token for different types of 
connection or by passing a certificate chain to use for TLS.
+You can implement 2 interfaces on the client side:
+ * 
[`Authentication`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/Authentication.html)
+ * 
[`AuthenticationDataProvider`](http://pulsar.apache.org/api/client/org/apache/pulsar/client/api/AuthenticationDataProvider.html)
 
+This in turn requires you to provide the client credentials in the form of 
`org.apache.pulsar.client.api.AuthenticationDataProvider` and also leaves the 
chance to return different kinds of authentication token for different types of 
connection or by passing a certificate chain to use for TLS.
 
-You can find examples for client authentication providers at:
-
- * Mutual TLS Auth -- 
https://github.com/apache/pulsar/tree/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth
- * Athenz -- 
https://github.com/apache/pulsar/tree/master/pulsar-client-auth-athenz/src/main/java/org/apache/pulsar/client/impl/auth
+You can find the following examples for different client authentication 
plugins:
+ * [Mutual 
TLS](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationTls.java)
+ * 
[Athenz](https://github.com/apache/pulsar/blob/master/pulsar-client-auth-athenz/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationAthenz.java)
+ * 
[Kerberos](https://github.com/apache/pulsar/blob/master/pulsar-client-auth-sasl/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationSasl.java)
+ * [JSON Web Token 
(JWT)](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationToken.java)
+ * [OAuth 
2.0](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/oauth2/AuthenticationOAuth2.java)
+ * [Basic 
auth](https://github.com/apache/pulsar/blob/master/pulsar-client/src/main/java/org/apache/pulsar/client/impl/auth/AuthenticationBasic.java)
 
 ### Proxy/Broker authentication plugin
 
 On the proxy/broker side, you need to configure the corresponding plugin to 
validate the credentials that the client sends. The Proxy and Broker can 
support multiple authentication providers at the same time.
 
-In `conf/broker.conf` you can choose to specify a list of valid providers:
+In `conf/broker.conf`, you can choose to specify a list of valid providers:
 
 ```properties
 # Authentication provider name list, which is comma separated list of class 
names
 authenticationProviders=
 ```
-To implement `org.apache.pulsar.broker.authentication.AuthenticationProvider` 
on one single interface:
 
-```java
-/**
- * Provider of authentication mechanism
- */
-public interface AuthenticationProvider extends Closeable {
-
-    /**
-     * Perform initialization for the authentication provider
-     *
-     * @param config
-     *            broker config object
-     * @throws IOException
-     *             if the initialization fails
-     */
-    void initialize(ServiceConfiguration config) throws IOException;
-
-    /**
-     * @return the authentication method name supported by this provider
-     */
-    String getAuthMethodName();
-
-    /**
-     * Validate the authentication for the given credentials with the 
specified authentication data
-     *
-     * @param authData
-     *            provider specific authentication data
-     * @return the "role" string for the authenticated connection, if the 
authentication was successful
-     * @throws AuthenticationException
-     *             if the credentials are not valid
-     */
-    String authenticate(AuthenticationDataSource authData) throws 
AuthenticationException;
-
-}
-```
+For the implementation of the 
`org.apache.pulsar.broker.authentication.AuthenticationProvider` interface, 
refer to 
[here](https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProvider.java).
 
-The following is the example for Broker authentication plugins:
+You can find the following examples for different Broker authentication 
plugins:
 
- * Mutual TLS -- 
https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderTls.java
- * Athenz -- 
https://github.com/apache/pulsar/blob/master/pulsar-broker-auth-athenz/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenz.java
+ * [Mutual 
TLS](https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderTls.java)
+ * 
[Athenz](https://github.com/apache/pulsar/blob/master/pulsar-broker-auth-athenz/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderAthenz.java)
+ * 
[Kerberos](https://github.com/apache/pulsar/blob/master/pulsar-broker-auth-sasl/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderSasl.java)
+ * [JSON Web Token 
(JWT)](https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderToken.java)
+ * [Basic 
auth](https://github.com/apache/pulsar/blob/master/pulsar-broker-common/src/main/java/org/apache/pulsar/broker/authentication/AuthenticationProviderToken.java)
 
 ## Authorization
 
 Authorization is the operation that checks whether a particular "role" or 
"principal" has permission to perform a certain operation.
 
-By default, you can use the embedded authorization provider provided by 
Pulsar. You can also configure a different authorization provider through a 
plugin.
-Note that although the Authentication plugin is designed for use in both the 
Proxy and Broker,
-the Authorization plugin is designed only for use on the Broker however the 
Proxy does perform some simple Authorization checks of Roles if authorization 
is enabled.
+By default, you can use the embedded authorization provider provided by 
Pulsar. You can also configure a different authorization provider through a 
plugin. Note that although the Authentication plugin is designed for use in 
both the Proxy and Broker, the Authorization plugin is designed only for use on 
the Broker.

Review comment:
       ```suggestion
   By default, you can use the embedded authorization provider provided by 
Pulsar. You can also configure a different authorization provider through a 
plugin. Note that although the Authentication plugin is designed for use in 
both the Proxy and Broker, the Authorization plugin is designed only for use on 
the Broker.
   ```
   why capitalize Broker? it is not a proper noun. (we can update the original 
text if it is not accurate)




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to