Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gravityblast/signed_request

signed request encoder/decoder for elixir
https://github.com/gravityblast/signed_request

elixir elixir-lang signed-requests signed-url

Last synced: about 8 hours ago
JSON representation

signed request encoder/decoder for elixir

Awesome Lists containing this project

README

        

# SignedRequest

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

## Installation

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

## Configuration

```elixir
config :signed_request, :secret_key, "foo"
```

## Encoding query

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

## Decoding query string

```elixir
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}
```