Files
jupyterhub/examples/user-sharing/jupyterhub_config.py
2024-02-07 08:34:39 +01:00

38 lines
1.0 KiB
Python

c = get_config() # noqa
c.JupyterHub.authenticator_class = 'dummy'
c.JupyterHub.spawner_class = 'simple'
c.Authenticator.allowed_users = {"sharer", "shared-with"}
# put the current directory on sys.path for shareextension.py
from pathlib import Path
here = Path(__file__).parent.absolute()
c.Spawner.notebook_dir = str(here)
# users need sharing permissions for their own servers
c.JupyterHub.load_roles = [
{
"name": "user",
"scopes": ["self", "shares!user"],
},
]
# below are two ways to grant sharing permission to a single-user server.
# there's no reason to use both
# OAuth token should have sharing permissions,
# so JupyterLab javascript can manage shares
c.Spawner.oauth_client_allowed_scopes = ["access:servers!server", "shares!server"]
# grant $JUPYTERHUB_API_TOKEN sharing permissions
# so that _python_ code can manage shares
c.Spawner.server_token_scopes = [
"shares!server", # manage shares
"servers!server", # start/stop itself
"users:activity!server", # report activity
]