Behaviour to handle communications with an authorization service.
retrieve_token(PrimaAuth0Ex.Auth0Credentials.t(), String.t()) :: {:ok, PrimaAuth0Ex.TokenProvider.TokenInfo.t()} | {:error, atom()}