lib/boruta/oauth/token_generator.ex
defmodule Boruta.Oauth.TokenGenerator do
@moduledoc """
Behaviour to implement utilities to generate token value. This must be implemented in the module configured as `token_generator` set in `config.exs`
"""
@doc """
Generates a token value from token entity.
"""
@callback generate(type :: :access_token | :refresh_token, token :: struct()) ::
value :: String.t()
@doc """
Generates a secret from client entity.
"""
@callback secret(client :: struct()) :: value :: String.t()
end