Provides an abstraction regarding code actions for IndieAuth.
destroy(code :: binary(), options :: keyword()) :: :ok
generate() :: binary()
generate_challenge(options :: keyword()) :: {binary(), binary(), binary()}
persist( code :: binary(), client_id :: binary(), redirect_uri :: binary(), args :: map(), options :: keyword() ) :: :ok | {:error, any()}
persist_challenge( code :: binary(), challenge :: binary(), method :: binary(), options :: keyword() ) :: :ok | {:error, any()}
verify( code :: binary(), client_id :: binary(), redirect_uri :: binary(), options :: keyword() ) :: {:ok, map()} | {:error, any()}
verify_challenge(verifier :: binary(), code :: binary(), options :: keyword()) :: :ok | {:error, any()}