forked from AkkomaGang/akkoma
24 lines
1 KiB
Elixir
24 lines
1 KiB
Elixir
<%= if get_flash(@conn, :info) do %>
|
|
<p class="alert alert-info" role="alert"><%= get_flash(@conn, :info) %></p>
|
|
<% end %>
|
|
<%= if get_flash(@conn, :error) do %>
|
|
<p class="alert alert-danger" role="alert"><%= get_flash(@conn, :error) %></p>
|
|
<% end %>
|
|
|
|
<h2>Two-factor authentication</h2>
|
|
|
|
<%= form_for @conn, mfa_verify_path(@conn, :verify), [as: "mfa"], fn f -> %>
|
|
<div class="input">
|
|
<%= label f, :code, "Authentication code" %>
|
|
<%= text_input f, :code, [autocomplete: false, autocorrect: "off", autocapitalize: "off", autofocus: true, maxlength: 6, pattern: "[0-9]{6}", spellcheck: false] %>
|
|
<%= hidden_input f, :mfa_token, value: @mfa_token %>
|
|
<%= hidden_input f, :state, value: @state %>
|
|
<%= hidden_input f, :redirect_uri, value: @redirect_uri %>
|
|
<%= hidden_input f, :challenge_type, value: "totp" %>
|
|
</div>
|
|
|
|
<%= submit "Verify" %>
|
|
<% end %>
|
|
<a href="<%= mfa_path(@conn, :show, %{challenge_type: "recovery", mfa_token: @mfa_token, state: @state, redirect_uri: @redirect_uri}) %>">
|
|
Enter a two-factor recovery code
|
|
</a>
|