{{ 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 | Owner | Allowed IPs | Rate limit | Created | Expires | State | |
|---|---|---|---|---|---|---|---|---|---|
| {{ key.name }} | {{ key.prefix }} |
{{ key.role }} | {{ key.user_id or 'installation' }} | {{ key.allowed_ips | join(', ') if key.allowed_ips else 'anywhere' }} | {{ key.rate_limit if key.rate_limit is not none else 'default' }} | {{ 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 %}People sign in at the sign-in page and are administered on the people page.
{% endif %} {% if panels.providers.data.detail %}{{ panels.providers.data.detail }}
{% endif %} {% else %}{{ m.failed(panels.providers) }}{% endif %}