{% extends "withoutnav_template.html" %} {% from "components/page-header.html" import page_header %} {% from "components/button/macro.njk" import govukButton %} {% from "components/back-link/macro.njk" import govukBackLink %} {% from "components/table.html" import edit_field, mapping_table, row, field, row_heading %} {% from "components/webauthn-api-check.html" import webauthn_api_check %} {% from "vendor/govuk-frontend/components/error-message/macro.njk" import govukErrorMessage %} {% set page_title = 'Security keys' %} {% set credentials = current_user.webauthn_credentials %} {% block extra_javascripts_before_body %} {{ webauthn_api_check() }} {% endblock %} {% block per_page_title %} {{ page_title }} {% endblock %} {% block maincolumn_content %} {{ page_header( page_title, back_link=url_for('.user_profile') ) }}
{% if credentials %}
{% call mapping_table( caption=page_title, field_headings=['Security key details', 'Action'], field_headings_visible=False, caption_visible=False, ) %} {% for credential in credentials %} {% call row() %} {% call field() %}
{{ credential.name }}
Registered {{ credential.created_at|format_delta }}
{% endcall %} {{ edit_field('Manage', url_for('.user_profile_manage_security_key', key_id=credential.id)) }} {% endcall %} {% endfor %} {% endcall %}
{% else %}

Security keys are an alternative way of signing in to Notify.

{% endif %} {{ govukErrorMessage({ "classes": "webauthn__api-missing", "text": "Your browser does not support security keys. Try signing in to Notify using a different browser." }) }} {{ govukErrorMessage({ "classes": "webauthn__no-js", "text": "JavaScript is not available for this page. Security keys need JavaScript to work." }) }} {{ govukButton({ "element": "button", "text": "Register a key", "classes": "govuk-button--secondary webauthn__api-required", "attributes": { "data-module": "register-security-key", "data-csrf-token": csrf_token(), } }) }}
{% endblock %}