ShazamKit.Token (shazam_kit v0.2.0)

Copy Markdown View Source

ShazamKit JWT token generation.

ShazamKit uses JWT authentication similar to other Apple APIs. The JWT is used directly as the Bearer token in API requests.

Summary

Functions

Generate the ShazamKit access token.

Like access_token/1 but also returns the unix-epoch expiry time, for cache use.

Build and sign the ShazamKit JWT (ES256).

Types

jwt()

@type jwt() :: String.t()

Functions

access_token(opts \\ [])

@spec access_token(keyword()) :: {:ok, String.t()} | {:error, term()}

Generate the ShazamKit access token.

access_token_with_expiry(opts \\ [])

@spec access_token_with_expiry(keyword()) ::
  {:ok, String.t(), integer()} | {:error, term()}

Like access_token/1 but also returns the unix-epoch expiry time, for cache use.

generate_jwt(opts \\ [])

@spec generate_jwt(keyword()) :: {:ok, jwt()} | {:error, term()}

Build and sign the ShazamKit JWT (ES256).