DripDrop.UnsubscribeToken (DripDrop v0.1.0)

Copy Markdown View Source

Signs and verifies one-click unsubscribe tokens.

Summary

Functions

Signs an unsubscribe payload into a tamper-resistant token.

Verifies an unsubscribe token and returns the signed payload.

Types

payload()

@type payload() :: %{
  :channel => String.t(),
  :recipient => String.t(),
  optional(:tenant_key) => String.t() | nil
}

Functions

sign(payload)

@spec sign(payload()) :: {:ok, String.t()} | {:error, :missing_unsubscribe_secret}

Signs an unsubscribe payload into a tamper-resistant token.

verify(token)

@spec verify(String.t()) :: {:ok, payload()} | {:error, term()}

Verifies an unsubscribe token and returns the signed payload.