Issues authentication factor challenges.
Providers return a one-time secret that KMS uses as the next PDK and a public
challenge map returned to callers. Providers may deliver the secret out of band
and omit it from the challenge.
Summary
Callbacks
@callback issue(KMS.Principals.PrincipalFactor.t(), KMS.Sessions.Session.t(), keyword()) :: {:ok, %{:secret => binary(), optional(:challenge) => map()}} | {:error, term()}
@callback verify( KMS.Principals.PrincipalFactor.t(), KMS.Sessions.Session.t(), map(), keyword() ) :: {:ok, binary()} | {:error, term()}