# `MishkaCmsCore.Accounts.SecondFactor.Needed`
[🔗](https://github.com/mishka-group/mishka_cms_core/blob/v0.0.1/lib/mishka_cms_core/accounts/_second_factor_needed.ex#L5)

A sign-in `MishkaCmsCore.Accounts.SecondFactor` refused: `:reason` is `:required` (no code was
given), `:invalid` (the code did not match, or was used already) or `:password` (a way in that
cannot ask for a code, such as a sign-in link). Rendered by the JSON:API as a 401
`second_factor_<reason>` and by the sign-in page as its second step or its notice.

# `t`

```elixir
@type t() :: %MishkaCmsCore.Accounts.SecondFactor.Needed{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  path: term(),
  reason: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

# `exception`

```elixir
@spec exception(opts :: Keyword.t()) :: %MishkaCmsCore.Accounts.SecondFactor.Needed{
  __exception__: term(),
  bread_crumbs: term(),
  class: term(),
  path: term(),
  reason: term(),
  splode: term(),
  stacktrace: term(),
  vars: term()
}
```

Create an `Elixir.MishkaCmsCore.Accounts.SecondFactor.Needed` without raising it.

## Keys

- :reason

---

*Consult [api-reference.md](api-reference.md) for complete listing*
