{% extends "base.html" %} {% load i18n %} {% load django_bootstrap5 %} {% load bootstrap_icons %} {% load tags_fingerprint %} {% block title %}{% trans "Profile" %}: {{ request.user.first_name }} {{ request.user.last_name}}{% endblock %} {% block page_heading %}{% trans "Profile" %}: {{ request.user.first_name }} {{ request.user.last_name}}{% endblock page_heading %} {% block content %}
{% csrf_token %} {% bootstrap_form profile_form layout='horizontal' %} {# an LDAP user's password is changed in LDAP #} {% if perms.accounts.change_password and user.has_usable_password %} {% bs_icon 'lock' %} {% trans "Change Password" %} {% endif %}
{% if publickeys %}
{% for key in publickeys %} {% endfor %}
{{ key.keyname }} ({% ssh_to_fingerprint key.keypublic %}) {% bs_icon 'trash' %}
{% endif %}
{%trans "Add SSH Key" %}
{% csrf_token %} {% bootstrap_form ssh_key_form layout='horizontal' %}

{% blocktrans %}A token lets a script or a tool use the REST API as you, without your password or OTP: send it as Authorization: Token <token>. A password change does not delete tokens: delete a token you no longer use, or one that may have leaked.{% endblocktrans %}

{% if api_tokens %} {% include "api_token_table.html" %} {% endif %}
{% trans "Create an API token" %}
{% csrf_token %} {% bootstrap_form api_token_form layout='horizontal' %}
{% endblock %} {% block script %} {% include "tab_from_hash.html" %} {% endblock %}