AwsSign is a Swift library that enables you to sign URLRequest
s using Signature Version 4 process. More details on this are available from the AWS documentation.
This package builds with Swift Package Manager. Ensure you have installed and activated the latest Swift 5.2 tool chain.
To use AwsSign, modify the Package.swift file and add following dependency:
.package(url: "https://github.com/nikola-mladenovic/AwsSwiftSign.git", .branch("master"))
Then import the AwsSign
library into the swift source code:
import AwsSign
The current release provides a URLRequest
extension, containing mutating func sign(accessKeyId: String, secretAccessKey: String) throws
method, which you can use on your request instance to perform Signature Version 4 process:
var request = URLRequest(url: URL(string: "https://sns.us-east-1.amazonaws.com?Action=Publish&Message=foo")!)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
try! request.sign(accessKeyId: "593ca2ad2782e4000a586d28", secretAccessKey: "ASDI/YZZfLXLna3xEn7JTIJhyH/YZZfLXLna3xEn7JTIJhyH")
// ...