Skip to content

Drop the Lakehouse alpha badge and disable the link without 2FA - #260

Merged
dauglyon merged 1 commit into
mainfrom
lakehouse-nav-mfa-gate
Oct 17, 2026
Merged

dauglyon merged 1 commit into
mainfrom
lakehouse-nav-mfa-gate

Conversation

@dauglyon

Copy link
Copy Markdown
Collaborator

Changes

  • Removes the alpha badge from the Lakehouse sidebar item.
  • For a BERDL_USER whose log in session has an mfa status other than Used, the Lakehouse item renders greyed and unlinked, with a MUI tooltip: "The Lakehouse requires two-factor authentication. Log out, then log in with ORCID using 2FA."

Why

The hub rejects any session whose token mfa is not Used (berdlhub/auth/kb_jupyterhub_auth.py in BERDL_JupyterHub) and sends the user to its MFA-required page. The sidebar link led those users there with no warning.

Notes

  • NavItem gains an optional disabledReason prop; the Lakehouse item is its only caller.
  • The disabled item is a focusable span with role="link" and aria-disabled="true", so the tooltip opens on keyboard focus as well as hover.
  • Users without BERDL_USER still see no Lakehouse item.

Testing

New src/features/layout/LeftNavBar.test.tsx covers: item absent without the role; linked and badge-free with mfa: Used; disabled for NotUsed and Unknown.

The hub rejects any log in session whose token mfa status is not "Used"
(BERDL_JupyterHub berdlhub/auth/kb_jupyterhub_auth.py), so a BERDL_USER
who logged in without a second factor followed the sidebar link only to
land on the hub's MFA-required page. For those sessions the Lakehouse
item now renders greyed and unlinked, with a tooltip saying to log in
again with ORCID using 2FA.

The alpha badge is removed from the item.
@dauglyon
dauglyon force-pushed the lakehouse-nav-mfa-gate branch from ef72c77 to 21551e7 Compare October 12, 2026 16:48
@dauglyon
dauglyon merged commit c39bfb7 into main Oct 17, 2026
4 checks passed
@dauglyon
dauglyon deleted the lakehouse-nav-mfa-gate branch October 17, 2026 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant