https://github.com/darkatra/feign-aws-sigv4
Provides feign request interceptors to sign http requests using AWS Signature V4.
https://github.com/darkatra/feign-aws-sigv4
aws aws-signature aws-signature-v4 feign feign-client sigv4
Last synced: 5 months ago
JSON representation
Provides feign request interceptors to sign http requests using AWS Signature V4.
- Host: GitHub
- URL: https://github.com/darkatra/feign-aws-sigv4
- Owner: DarkAtra
- License: mit
- Created: 2022-11-10T20:10:20.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-07-14T19:03:05.000Z (6 months ago)
- Last Synced: 2025-07-14T23:47:35.975Z (6 months ago)
- Topics: aws, aws-signature, aws-signature-v4, feign, feign-client, sigv4
- Language: Kotlin
- Homepage:
- Size: 381 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: .github/contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: .github/code_of_conduct.md
Awesome Lists containing this project
README
[](https://github.com/DarkAtra/feign-aws-sigv4/actions/workflows/build.yml)
# feign-aws-sigv4
Provides feign request interceptors to sign http requests using [AWS Signature V4](https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html).
## Usage with SDK V1
Include the following dependency in your project:
[//]: # (@formatter:off)
```xml
de.darkatra
feign-aws-sigv4-sdkv1
3.0.4
```
[//]: # (@formatter:on)
### Kotlin
[//]: # (@formatter:off)
```kotlin
val awsCredentialsProvider = DefaultAWSCredentialsProviderChain()
val service = "execute-api"
val region = Region.getRegion(Regions.EU_CENTRAL_1)
val awsSignatureV4RequestInterceptor = AwsSignatureV4RequestInterceptor(awsCredentialsProvider, service, region)
Feign.builder()
.requestInterceptor(awsSignatureV4RequestInterceptor)
.target(YourClient::class.java, url)
```
[//]: # (@formatter:on)
### Java
[//]: # (@formatter:off)
```java
final AWSCredentialsProvider awsCredentialsProvider = new DefaultAWSCredentialsProviderChain();
final String service = "execute-api";
final Region region = Region.getRegion(Regions.EU_CENTRAL_1);
final RequestInterceptor awsSignatureV4RequestInterceptor = new AwsSignatureV4RequestInterceptor(awsCredentialsProvider, service, region);
Feign.builder()
.requestInterceptor(awsSignatureV4RequestInterceptor)
.target(YourClient.class, url);
```
[//]: # (@formatter:on)
## Usage with SDK V2
Include the following dependency in your project:
[//]: # (@formatter:off)
```xml
de.darkatra
feign-aws-sigv4-sdkv2
3.0.4
```
[//]: # (@formatter:on)
### Kotlin
[//]: # (@formatter:off)
```kotlin
val awsCredentialsProvider = DefaultCredentialsProvider.create()
val service = "execute-api"
val region = Region.of("eu-central-1")
val awsSignatureV4RequestInterceptor = AwsSignatureV4RequestInterceptor(awsCredentialsProvider, service, region)
Feign.builder()
.requestInterceptor(awsSignatureV4RequestInterceptor)
.target(YourClient::class.java, url)
```
[//]: # (@formatter:on)
### Java
[//]: # (@formatter:off)
```java
final AwsCredentialsProvider awsCredentialsProvider = DefaultCredentialsProvider.create();
final String service = "execute-api";
final Region region = Region.of("eu-central-1");
final RequestInterceptor awsSignatureV4RequestInterceptor = new AwsSignatureV4RequestInterceptor(awsCredentialsProvider, service, region);
Feign.builder()
.requestInterceptor(awsSignatureV4RequestInterceptor)
.target(YourClient.class, url);
```
[//]: # (@formatter:on)