Skip to content

gravityblast/signed_request

Folders and files

NameName
Last commit message
Last commit date

Latest commit

5341206 · Nov 22, 2021

History

9 Commits
May 8, 2017
Nov 22, 2021
Nov 22, 2021
May 8, 2017
May 8, 2017
Jun 27, 2017
Nov 22, 2021

Repository files navigation

SignedRequest

SignedRequest is an Elixir module created to sign request query strings using HMAC.

Installation

def deps do
  [{:signed_request, "~> 0.1.0"}]
end

Configuration

config :signed_request, :secret_key, "foo"

Encoding query

iex> SignedRequest.SignedURI.encode_query(%{size: 512})
"sig=7dc5fc28fa59ff89dff64bed05920978471f10ced63aca98452b54574a3aef0e&size=512"

Decoding query string

iex> SignedRequest.SignedURI.decode_query("sig=7dc5fc28fa59ff89dff64bed05920978471f10ced63aca98452b54574a3aef0e&size=512")
{:ok, %{
  "sig" => "7dc5fc28fa59ff89dff64bed05920978471f10ced63aca98452b54574a3aef0e",
  "size" => "512"}
}

iex> SignedRequest.SignedURI.decode_query("sig=invalid&size=512")
{:error, :invalid_hmac}