{% extends "page.html" %} {% block main %}
These are tokens with access to the JupyterHub API. Permissions for each token may be viewed via the JupyterHub tokens API. Revoking the API token for a running server will require restarting that server.
| Note | Permissions | Last used | Created | Expires | |
|---|---|---|---|---|---|
| {{ token.note }} |
scopes{% for scope in token.scopes %}{{ scope }}{% endfor %}
|
{%- 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 -%} | {% endblock token_row %} |
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.
| Application | Permissions | Last used | First authorized | |
|---|---|---|---|---|
| {{ client['description'] }} |
scopes{# create set of scopes on all tokens -#} {# sum concatenates all token.scopes into a single list -#} {# then filter to unique set and sort -#} {% for scope in client.tokens | sum(attribute="scopes", start=[]) | unique | sort %}{{ scope }}
{% endfor %}
|
{%- 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 %} |