Autenticación de dos factores con nombre de usuario y contraseña para un servidor Jupyter Notebook

He configurado un servidor Jupyter Notebook con la contraseña y SSL adecuados para que se acceda a través de HTTPS. Sin embargo, ahora estoy buscando una manera de imponer una autenticación de dos factores con el nombre de usuario y la contraseña para iniciar sesión. El servidor actual de Jupyter Notebook solo solicita una contraseña y, por lo tanto, tengo que crear una compartida (aunque no hay nombre de usuario).

Sé sobre JupyterHub, pero en este momento estoy buscando una forma de agregar un nombre de usuario (o varios nombres de usuario) y la contraseña correspondiente (contraseñas), para que todos puedan acceder al mismo espacio de trabajo sin tener necesariamente credenciales en el servidor Linux .

¿Es esto posible, o tengo que recurrir a la implementación de un servidor JupyterHub?

El OAuth de GitHub se ha utilizado para la autenticación de JupyterHub y parece bastante fácil de configurar, aunque debo confesar que solo he usado la autenticación integrada del servidor. Creo que sería una solución bastante decente si no desea tener que crear cuentas del servidor para cada usuario.

Hay un gancho de inicio de sesión en la configuración. Puedes escribir tu propia autenticación allí.