diff --git a/CHANGELOG.md b/CHANGELOG.md
index 5db16935..380ac377 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
### v0.8.0 (TBD)
- Provided different log levels for `OkHttpClient`.`TRACE`: `BODY`, `DEBUG`: `BASIC`, `*`: `NONE`
- Refactored throttler adding the notion of timer
+- Support for authentication extension. Initial implementations for None and Basic authentication types
### v0.7.6 (05/28/2020)
- Fix typo in `http.throttler.catchup.interval.millis` configuration property
diff --git a/README.md b/README.md
index 2f497773..3be550f7 100644
--- a/README.md
+++ b/README.md
@@ -265,6 +265,49 @@ Uses a [OkHttp](https://square.github.io/okhttp/) client.
> Maximum number of idle connections in the connection pool
> * Type: `Integer`
> * Default: `1`
+---
+
+
+### HttpAuthenticator: Authenticating a HttpRequest
+When executing the request, authentication might be required. The HttpAuthenticator is responsible for resolving the authentication header
+to be included in the request
+`HttpAuthenticator`
+
+> #### `http.auth`
+> ```java
+> public interface HttpAuthenticator extends Configurable {
+>
+> Optional getAuthorizationHeader();
+> }
+> ```
+> * Type: `Class`
+> * Default: `com.github.castorm.kafka.connect.http.auth.ConfigurableHttpAuthenticator`
+> * Available implementations:
+> * `com.github.castorm.kafka.connect.http.auth.ConfigurableHttpAuthenticator`
+> * `com.github.castorm.kafka.connect.http.auth.NoneHttpAuthenticator`
+> * `com.github.castorm.kafka.connect.http.auth.BasicHttpAuthenticator`
+
+#### Authenticating a HttpRequest with ConfigurableHttpAuthenticator
+Allows selecting the athentication type via configuration property
+
+> ##### `http.auth.type`
+> Type of authentication
+> * Type: `String`
+> * Default: `None`
+> * Available options:
+> * `None`
+> * `Basic`
+
+#### Authenticating a HttpRequest with BasicHttpAuthenticator
+Allows selecting the athentication type via configuration property
+
+> ##### `http.auth.user`
+> * Type: `String`
+> * Default: ``
+>
+> ##### `http.auth.password`
+> * Type: `String`
+> * Default: ``
---
diff --git a/examples/jira-issues-search.md b/examples/jira-issues-search.md
index 71b9fe5a..f447d524 100644
--- a/examples/jira-issues-search.md
+++ b/examples/jira-issues-search.md
@@ -48,8 +48,11 @@ And based on the results we would be updating the `updated` filter for subsequen
"tasks.max": "1",
"http.offset.initial": "timestamp=2020-05-08T07:55:44Z",
"http.request.url": "https://your-host-here/rest/api/2/search",
- "http.request.headers": "Authorization: Basic TBD, Accept: application/json",
+ "http.request.headers": "Accept: application/json",
"http.request.params": "jql=updated>=\"${offset.timestamp?datetime.iso?string['yyyy/MM/dd HH:mm']}\" ORDER BY updated ASC&maxResults=100",
+ "http.auth.type": "Basic",
+ "http.auth.user": "username",
+ "http.auth.password": "password",
"http.response.list.pointer": "/issues",
"http.response.record.key.pointer": "/id",
"http.response.record.offset.pointer": "timestamp=/fields/updated",
diff --git a/src/main/java/com/github/castorm/kafka/connect/http/auth/BasicHttpAuthenticator.java b/src/main/java/com/github/castorm/kafka/connect/http/auth/BasicHttpAuthenticator.java
new file mode 100644
index 00000000..89b7b5df
--- /dev/null
+++ b/src/main/java/com/github/castorm/kafka/connect/http/auth/BasicHttpAuthenticator.java
@@ -0,0 +1,62 @@
+package com.github.castorm.kafka.connect.http.auth;
+
+/*-
+ * #%L
+ * Kafka Connect HTTP
+ * %%
+ * Copyright (C) 2020 CastorM
+ * %%
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * #L%
+ */
+
+import com.github.castorm.kafka.connect.http.auth.spi.HttpAuthenticator;
+import okhttp3.Credentials;
+
+import java.util.Map;
+import java.util.Optional;
+import java.util.function.Function;
+
+import static org.apache.commons.lang.StringUtils.isEmpty;
+
+public class BasicHttpAuthenticator implements HttpAuthenticator {
+
+ private final Function