Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4
7.0.0-alpha.2
Prefix Reserved
See the version list below for details.
dotnet add package Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 --version 7.0.0-alpha.2
NuGet\Install-Package Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 -Version 7.0.0-alpha.2
<PackageReference Include="Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4" Version="7.0.0-alpha.2" />
paket add Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 --version 7.0.0-alpha.2
#r "nuget: Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4, 7.0.0-alpha.2"
// Install Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 as a Cake Addin #addin nuget:?package=Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4&version=7.0.0-alpha.2&prerelease // Install Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 as a Cake Tool #tool nuget:?package=Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4&version=7.0.0-alpha.2&prerelease
About
An open-source family of assemblies (MIT license) that targets and complements the Microsoft .NET platform (.NET 7, .NET 6, .NET Core 3.1, .NET Standard 2, Universal Windows Platform and .NET Framework 4.6.1 and newer) by providing vast ways of possibilities for all breeds of coders, programmers, developers and the likes thereof.
It is, by heart, free, flexible and built to extend and boost your agile codebelt.
Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 for .NET
The Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4
namespace complements the Cuemon.AspNetCore.Authentication namespace while providing a way making and signing HTTP requests in the context of specific AWS services using Signature Version 4.
More documentation available at Cuemon for .NET documentation.
CSharp Example
using var mw = MiddlewareTestFactory.Create();
var context = mw.ServiceProvider.GetRequiredService<IHttpContextAccessor>().HttpContext;
var timestamp = DateTime.Parse("2022-07-10T12:50:42.2737531Z"); // <-- change this to valid date/time
context.Request.Headers.Add(HttpHeaderNames.Host, "cuemon.s3.amazonaws.com");
context.Request.Headers.Add("x-amz-date", timestamp.ToAwsDateTimeString());
context.Request.Headers.Add("x-amz-content-sha256", UnkeyedHashFactory.CreateCryptoSha256().ComputeHash("").ToHexadecimalString());
context.Request.QueryString = QueryString.Create("list-type", "2");
var headerBuilder = new Aws4HmacAuthorizationHeaderBuilder()
.AddFromRequest(context.Request)
.AddClientId("AKIAIOSFODNN7EXAMPLE") // <-- change this to valid access key
.AddClientSecret("wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY") // <-- change this to valid secret
.AddCredentialScope(timestamp);
var header = headerBuilder.Build().ToString(); // <-- send this AWS
cURL Example
curl --location --request GET 'https://cuemon.s3.amazonaws.com/?list-type=2' --header 'Authorization: AWS4-HMAC-SHA256 Credential=AKIAIOSFODNN7EXAMPLE/20220710/eu-west-1/s3/aws4_request, SignedHeaders=host;x-amz-content-sha256;x-amz-date, Signature=feeb4c8ba41733fadc73cba6631ddfc9a729f371206bbaa77f216a69dd5299c5' --header 'x-amz-date: 20220710T145042Z' --header 'x-amz-content-sha256: e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855'
Related Packages
- Cuemon.AspNetCore 📦
- Cuemon.AspNetCore.App 🏭
- Cuemon.AspNetCore.Authentication 📦
- Cuemon.AspNetCore.Mvc 📦
- Cuemon.AspNetCore.Razor.TagHelpers 📦
- Cuemon.Core 📦
- Cuemon.Core.App 🏭
- Cuemon.Data 📦
- Cuemon.Data.Integrity 📦
- Cuemon.Data.SqlClient 📦
- Cuemon.Diagnostics 📦
- Cuemon.Extensions.AspNetCore 📦
- Cuemon.Extensions.AspNetCore.Authentication 📦
- Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 📦
- Cuemon.Extensions.AspNetCore.Mvc 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Newtonsoft.Json 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Text.Json 📦
- Cuemon.Extensions.AspNetCore.Mvc.Formatters.Xml 📦
- Cuemon.Extensions.AspNetCore.Mvc.RazorPages 📦
- Cuemon.Extensions.Collections.Generic 📦
- Cuemon.Extensions.Collections.Specialized 📦
- Cuemon.Extensions.Core 📦
- Cuemon.Extensions.Data 📦
- Cuemon.Extensions.Data.Integrity 📦
- Cuemon.Extensions.DependencyInjection 📦
- Cuemon.Extensions.Diagnostics 📦
- Cuemon.Extensions.Asp.Versioning 📦
- Cuemon.Extensions.Hosting 📦
- Cuemon.Extensions.IO 📦
- Cuemon.Extensions.Net 📦
- Cuemon.Extensions.Newtonsoft.Json 📦
- Cuemon.Extensions.Newtonsoft.Json.App 🏭
- Cuemon.Extensions.Reflection 📦
- Cuemon.Extensions.Runtime.Caching 📦
- Cuemon.Extensions.Swashbuckle.AspNetCore 📦
- Cuemon.Extensions.Text 📦
- Cuemon.Extensions.Text.Json 📦
- Cuemon.Extensions.Threading 📦
- Cuemon.Extensions.Xml 📦
- Cuemon.Extensions.Xunit 📦
- Cuemon.Extensions.Xunit.App 🏭
- Cuemon.Extensions.Xunit.Hosting 📦
- Cuemon.Extensions.Xunit.Hosting.AspNetCore 📦
- Cuemon.Extensions.Xunit.Hosting.AspNetCore.Mvc 📦
- Cuemon.IO 📦
- Cuemon.Net 📦
- Cuemon.Resilience 📦
- Cuemon.Runtime.Caching 📦
- Cuemon.Security.Cryptography 📦
- Cuemon.Threading 📦
- Cuemon.Xml 📦
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- Cuemon.AspNetCore.Authentication (>= 7.0.0-alpha.2)
-
net6.0
- Cuemon.AspNetCore.Authentication (>= 7.0.0-alpha.2)
-
net7.0
- Cuemon.AspNetCore.Authentication (>= 7.0.0-alpha.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
8.3.2 | 82 | 8/4/2024 |
8.3.1 | 103 | 6/2/2024 |
8.3.0 | 128 | 4/9/2024 |
8.2.0 | 122 | 3/3/2024 |
8.1.0 | 149 | 2/10/2024 |
8.1.0-rc1 | 104 | 2/8/2024 |
8.1.0-preview.52 | 56 | 2/5/2024 |
8.1.0-preview.20 | 68 | 1/22/2024 |
8.1.0-preview | 106 | 1/16/2024 |
8.0.1 | 193 | 1/11/2024 |
8.0.0 | 205 | 11/14/2023 |
8.0.0-rc2 | 100 | 11/13/2023 |
8.0.0-rc1 | 117 | 11/7/2023 |
8.0.0-preview.183 | 62 | 11/13/2023 |
8.0.0-preview.176 | 63 | 11/12/2023 |
8.0.0-preview.158 | 66 | 11/9/2023 |
7.1.0 | 451 | 12/11/2022 |
7.0.0 | 451 | 11/9/2022 |
7.0.0-rc.2 | 113 | 11/3/2022 |
7.0.0-rc.1 | 107 | 10/26/2022 |
7.0.0-alpha.2 | 109 | 10/16/2022 |
7.0.0-alpha.1 | 126 | 9/23/2022 |
7.0.0-alpha | 191 | 7/12/2022 |
Version: 7.0.0
Availability: .NET Core 3.1, .NET 6.0, .NET 7.0
# New Features
- ADDED Aws4HmacAuthorizationHeader class in the Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 namespace that provides a representation of a HTTP AWS4-HMAC-SHA256 Authentication header
- ADDED Aws4HmacAuthorizationHeaderBuilder class in the Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 namespace that provides a way to fluently represent a HTTP AWS4-HMAC-SHA256 Authentication header
- ADDED Aws4HmacFields class in the Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 namespace that is a collection of constants for Aws4HmacAuthorizationHeaderBuilder and related
- ADDED DateTimeExtensions class in the Cuemon.Extensions.AspNetCore.Authentication.AwsSignature4 namespace that consist of extension methods for the DateTime struct: ToAwsDateString, ToAwsDateTimeString