{{ key_id }}{% endif %}
With security.auth.mode = none there is no credential to check and the caller
is whoever is sitting at this machine — the same authority the command line has. That is
only tolerable because a non-loopback bind with authentication off is refused twice: once
before a socket exists, and once before an application does.
Records, never secrets. Only a digest is stored, so a lost key is reissued rather than recovered — the one copy of a secret is in the response that minted it.
{% if panels.api_keys.ok %} {% if panels.api_keys.data.keys %}| Name | Prefix | Role | Created | Expires | State | |
|---|---|---|---|---|---|---|
| {{ key.name }} | {{ key.prefix }} |
{{ key.role }} | {{ key.created_at }} | {{ key.expires_at or 'never' }} | {{ 'revoked' if key.revoked else 'live' }} | {% if not key.revoked %} {% endif %} |
Mode {{ panels.providers.data.mode }}, {{ panels.providers.data.count }} configured.
{% if panels.providers.data.providers %}{{ panels.providers.data.detail }}
{% endif %} {% else %}{{ m.failed(panels.providers) }}{% endif %}There is no interactive login in this build. An endpoint that existed and refused every attempt would read as a bug rather than as a decision, so it is absent and said out loud instead.