Skip to content

nikola-mladenovic/AwsSwiftSign

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AwsSign - Swift

AwsSign is a Swift library that enables you to sign URLRequests using Signature Version 4 process. More details on this are available from the AWS documentation.

Swift 5.2 Platforms iOS | macOS | watchOS | tvOS | Linux SPM compatible

This package builds with Swift Package Manager. Ensure you have installed and activated the latest Swift 5.2 tool chain.

Quick Start

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

Usage

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")

// ...