{% extends "page.html" %} {% block main %}
This note will help you keep track of what your tokens are for.

{% block expiration_options %} {% endblock expiration_options %} You can configure when your token will be expired.
{% if api_tokens %}

API Tokens

These are tokens with full access to the JupyterHub API. Anything you can do with JupyterHub can be done with these tokens. Revoking the API token for a running server will require restarting that server.

{% for token in api_tokens %} {% block token_row scoped %} {% endblock token_row %} {% endfor %}
Note Last used Created Expires at
{{token.note}} {%- if token.last_activity -%} {{ token.last_activity.isoformat() + 'Z' }} {%- else -%} Never {%- endif -%} {%- if token.created -%} {{ token.created.isoformat() + 'Z' }} {%- else -%} N/A {%- endif -%} {%- if token.expires_at -%} {{ token.expires_at.isoformat() + 'Z' }} {%- else -%} Never {%- endif -%}
{% endif %} {% if oauth_clients %}

Authorized Applications

These are applications that use OAuth with JupyterHub to identify users (mostly notebook servers). OAuth tokens can generally only be used to identify you, not take actions on your behalf.

{% for client in oauth_clients %} {% block client_row scoped %} {% endfor %}
Application Last used First authorized
{{ client['description'] }} {%- if client['last_activity'] -%} {{ client['last_activity'].isoformat() + 'Z' }} {%- else -%} Never {%- endif -%} {%- if client['created'] -%} {{ client['created'].isoformat() + 'Z' }} {%- else -%} N/A {%- endif -%} {% endblock client_row %}
{% endif %}
{% endblock main %} {% block script %} {{ super() }} {% endblock script %}