Skip to content

Github - auth_state_groups_key cannot find teams dict keys #797

Open
@linkeal

Description

@linkeal

Bug description

When configuring Jupyterhub on Kubernetes via helm and configuring the GithubOAuthenticator to populate the teams and then also utilize those teams as group it cannot find the properties. Error message:

E 2025-06-09 19:13:22.282 JupyterHub oauth2:1245] The auth_state_groups_key teams does not exist in the auth_model. Available keys are: dict_keys(['access_token', 'refresh_token', 'id_token', 'scope', 'token_response', 'github_user', 'teams'])

How to reproduce

Config

helm upgrade --cleanup-on-fail
--install jupyterhub jupyterhub/jupyterhub
--namespace jupyterhub
--create-namespace
--version=4.2.0
--values values.yaml

hub:
  config:
    JupyterHub:
      authenticator_class: github
    GitHubOAuthenticator:
      client_id: "XXXX"
      client_secret: "XXXX"
      oauth_callback_url: "XXXX"
      manage_groups: true
      admin_groups:
        - jupyterhub-admins
      populate_teams_in_auth_state: true
      auth_state_groups_key: teams
      allowed_organizations:
        - XXXXX
      scope:
        - read:org
        - user:email

Expected behaviour

The Teams of the Organization from Github are validated in JupyterHub and if a User is part of the group (e.g. jupyterhub-admins) those users are granted admin permissions in JupyterHub.

Actual behaviour

Users can login since authentication is configured correctly, however every user is just a normal user. No admin permissions are granted to any user.

Your personal set up

  • OS: Kubernetes v1.30.3
  • Image: quay.io/jupyterhub/k8s-hub:4.2.0
  • Version(s):

jupyterhub==5.3.0
oauthenticator==17.3.0

Full environment
# paste output of `pip freeze` or `conda list` here
Configuration
# jupyterhub_config.py
Logs

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions