Skip to content
This repository was archived by the owner on Feb 4, 2026. It is now read-only.

varsitytutors/lua-resty-aws-auth

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

lua-resty-aws-auth

Simple lua resty utilities to generate amazon v4 authorization and signature headers.

Installation

Openresty installation should be compiled with --with-luajit directive otherwise you will get an error,

module 'ffi' not found

Install the package using luarocks

#luarocks install lua-resty-aws-auth

Usage

local aws_auth = require "resty.aws-auth"
local config = {
  aws_host       = "email.us-east-1.amazonaws.com",
  aws_key        = "AKIDEXAMPLE",
  aws_secret     = "xxxsecret",
  aws_region     = "us-east-1",
  aws_service    = "ses",
  content_type   = "application/x-www-form-urlencoded",
  request_method = "POST",
  request_path   = "/",
  request_body   = { hello="world" } -- table of all request params
}

local aws = aws_auth:new(config)

-- get the generated authorization header
-- eg: AWS4-HMAC-SHA256 Credential=AKIDEXAMPLE/20150830/us-east-1/iam/aws4_request,
---    SignedHeaders=content-type;host;x-amz-date, Signature=xxx
local auth = aws:get_authorization_header()

-- get the x-amz-date header
local amz_date = aws:get_amz_date_header()

Add Authorization and x-amz-date header to ngx.req.headers

aws:set_ngx_auth_headers()

Reference Signing AWS With Signature V4 AWS service namespaces list AWS region and endpoints

About

Lua resty module to calculate AWS signature v4 authorization header

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Lua 100.0%