Users created from the admin panel control hub are unusable due to lack of password when using NativeAuthenticator
Bug description
I hope this is a real bug and not me missing something obvious. I was having a separate problem with TLJH where user signups weren't showing up in the control panel, and I thought I would circumvent this by making the users myself. However, when adding users, there is no option to set a password, and any attempt to login as one of those users will come up with Invalid username. This is using the NativeAuthenticator, I believe.
Expected behaviour
The user should either have no password, define their password at first login, or have their password defined when they are created.
Actual behaviour
The user cannot access JupyterHub due to lack of a password.
How to reproduce
Create a new user using "Add Users" in the admin tab of the Control Panel. The user will not be able to log in.
Your personal set up
tljh on Ubuntu 18.04
- OS:
- Version(s):
-
Full environment
# paste output of `pip freeze` or `conda list` here
WARNING: Ignoring invalid distribution -uggingface-hub (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -rllib3 (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -orch (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -lick (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -klearn (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -ix (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -eqeval (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -ensorflow-estimator (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -cikit-learn (/opt/tljh/user/lib/python3.7/site-packages)
WARNING: Ignoring invalid distribution -andas (/opt/tljh/user/lib/python3.7/site-packages)
absl-py==0.13.0
alembic==1.6.5
anyio==3.2.1
anytree==2.8.0
appdirs==1.4.4
argon2-cffi==20.1.0
asn1crypto==0.24.0
astunparse==1.6.3
async-generator==1.10
attrs==21.2.0
Babel==2.9.1
backcall==0.2.0
backports.csv==1.0.7
backports.entry-points-selectable==1.1.0
bcrypt==3.2.0
beautifulsoup4==4.9.3
bert-serving-client==1.10.0
bert-serving-server==1.10.0
black==21.7b0
bleach==3.3.1
blis==0.4.1
boto3==1.18.59
botocore==1.21.59
bs4==0.0.1
cached-property==1.5.2
cachetools==4.2.2
catalogue==2.0.5
cchardet==2.1.7
certifi==2021.10.8
certipy==0.1.3
cffi==1.12.3
cfgv==3.3.1
chardet==3.0.4
checklist==0.0.11
cheroot==8.5.2
CherryPy==18.6.1
click==7.1.2
colorama @ file:///home/conda/feedstock_root/build_artifacts/colorama_1602866480661/work
conda==4.8.1
conda-package-handling==1.3.11
coreferee==1.0.1
coverage==5.5
cryptography==2.7
cycler==0.10.0
cymem==2.0.5
datasets==1.7.0
debugpy==1.3.0
decorator==5.0.9
defusedxml==0.7.1
dill==0.3.4
distlib==0.3.2
docopt==0.6.2
docx==0.2.4
en-core-web-sm==3.0.0
entrypoints==0.3
et-xmlfile==1.1.0
fastprogress==1.0.0
fasttext==0.9.2
feedparser==6.0.8
filelock==3.0.12
Flask==2.0.2
Flask-Cors==3.0.10
flask-swagger-ui==3.36.0
flatbuffers==1.12
fsspec==2021.7.0
future==0.18.2
fuzzywuzzy==0.18.0
gast==0.4.0
google-auth==1.34.0
google-auth-oauthlib==0.4.5
google-pasta==0.2.0
GPUtil==1.4.0
greenlet==1.1.0
grpcio==1.34.1
h5py==2.10.0
huggingface-hub==0.0.8
identify==2.2.13
idna==2.8
importlib-metadata==3.10.1
iniconfig==1.1.1
ipykernel==6.0.3
ipython==7.25.0
ipython-genutils==0.2.0
ipywidgets==7.6.3
iso-639==0.4.5
itsdangerous==2.0.1
jaraco.classes==3.2.1
jaraco.collections==3.3.0
jaraco.functools==3.3.0
jaraco.text==3.5.1
jedi==0.18.0
jieba==0.42.1
Jinja2==3.0.0
jmespath==0.10.0
joblib==1.0.1
johnnydep==1.11
json5==0.9.6
jsonschema==3.2.0
jupyter==1.0.0
jupyter-client==6.2.0
jupyter-console==6.4.0
jupyter-contrib-core==0.3.3
jupyter-contrib-nbextensions==0.5.1
jupyter-core==4.7.1
jupyter-highlight-selected-word==0.2.0
jupyter-latex-envs==1.4.6
jupyter-nbextensions-configurator==0.4.1
jupyter-resource-usage==0.5.1
jupyter-server==1.9.0
jupyter-telemetry==0.1.0
jupyterhub==1.4.0
jupyterhub-nativeauthenticator==0.0.7
jupyterlab==3.0.16
jupyterlab-code-formatter==1.4.10
jupyterlab-pygments==0.1.2
jupyterlab-server==2.6.1
jupyterlab-widgets==1.0.0
keras==2.6.0
keras-bert==0.88.0
keras-embed-sim==0.9.0
keras-layer-normalization==0.15.0
keras-multi-head==0.28.0
keras-nightly==2.5.0.dev2021032900
keras-pos-embd==0.12.0
keras-position-wise-feed-forward==0.7.0
Keras-Preprocessing==1.1.2
keras-self-attention==0.50.0
keras-transformer==0.39.0
kiwisolver==1.3.1
ktrain==0.28.3
langdetect==1.0.9
langid==1.1.6
lemminflect==0.2.2
libarchive-c==2.8
lxml==4.6.3
Mako==1.1.4
Markdown==3.3.4
MarkupSafe==2.0.1
matplotlib==3.4.3
matplotlib-inline==0.1.2
mistune==0.8.4
more-itertools==8.8.0
multiprocess==0.70.12.2
munch==2.5.0
murmurhash==1.0.5
mypy-extensions==0.4.3
nbclassic==0.3.1
nbclient==0.5.3
nbconvert==6.1.0
nbformat==5.1.3
nbgitpuller==0.9.0
nest-asyncio==1.5.1
networkx==2.6.2
nlpaug==1.1.8
nltk==3.2.5
nodeenv==1.6.0
notebook==6.3.0
nteract-on-jupyter==2.1.3
num2words==0.5.10
numpy==1.21.2
oauthlib==3.1.1
onetimepass==1.0.1
openpyxl==3.0.7
opt-einsum==3.3.0
oyaml==1.0
packaging==21.0
pamela==1.0.0
pandas==1.3.4
pandocfilters==1.4.3
parso==0.8.2
pathspec==0.9.0
pathy==0.6.0
patsy==0.5.2
pattern3==3.0.0
patternfork-nosql==3.6
pdfminer.six==20201018
pdfminer3k==1.3.4
pexpect==4.8.0
pickleshare==0.7.5
Pillow==8.3.1
pkginfo==1.8.2
plac==1.1.3
platformdirs==2.2.0
pluggy==0.13.1
ply==3.11
portalocker==2.0.0
portend==2.7.1
pre-commit==2.14.0
preshed==3.0.5
prometheus-client==0.11.0
prompt-toolkit==3.0.19
protobuf==3.17.3
psutil==5.8.0
ptyprocess==0.7.0
py==1.10.0
pyarrow==3.0.0
pyasn1==0.4.8
pyasn1-modules==0.2.8
pybind11==2.8.1
pycosat==0.6.3
pycparser==2.19
pydantic==1.7.4
pydot==1.4.2
pyemd==0.5.1
Pygments==2.9.0
PyMuPDF==1.16.14
PyMySQL==1.0.2
pyOpenSSL==19.0.0
pyparsing==2.4.7
PyPDF2==1.26.0
pypyodbc==1.3.6
pyrsistent==0.18.0
PySocks==1.7.0
pytest==6.2.4
pytest-cov==2.12.1
python-dateutil==2.8.2
python-docx==0.8.11
python-editor==1.0.4
python-json-logger==2.0.1
python-Levenshtein==0.12.2
pytorch-nlp==0.5.0
pytorch-pretrained-bert==0.6.2
pytz==2021.1
PyYAML==5.4.1
pyzmq==22.1.0
qtconsole==5.1.1
QtPy==1.10.0
regex==2021.7.6
requests==2.22.0
requests-oauthlib==1.3.0
requests-unixsocket==0.2.0
rsa==4.7.2
ruamel.yaml.clib==0.2.6
ruamel_yaml==0.15.46
s3transfer==0.5.0
sacrebleu==1.5.1
sacremoses==0.0.45
scikit-learn==0.23.2
scipy==1.7.1
seaborn==0.11.2
Send2Trash==1.8.0
sentence-transformers==2.1.0
sentencepiece==0.1.96
seqeval==0.0.19
sgmllib3k==1.0.0
simplejson==3.17.3
six @ file:///home/conda/feedstock_root/build_artifacts/six_1620240208055/work
smart-open==5.2.0
sniffio==1.2.0
sortedcontainers==2.4.0
soupsieve==2.2.1
spacy==3.0.0
spacy-legacy==3.0.8
SQLAlchemy==1.4.21
srsly==2.4.1
statsmodels==0.13.1
stopwords==1.0.0
structlog==21.5.0
sudo==1.0.0
syntok==1.3.1
tabulate==0.8.9
tempora==4.1.1
tensorboard==2.5.0
tensorboard-data-server==0.6.1
tensorboard-plugin-wit==1.8.0
tensorflow==2.5.0
tensorflow-estimator==2.0.1
tensorflow-hub==0.12.0
tensorflow-text==2.5.0
termcolor==1.1.0
termcolors==0.1.0
terminado==0.10.1
testpath==0.5.0
textblob==0.15.3
thinc==8.0.8
threadpoolctl==2.2.0
tokenizers==0.10.3
toml==0.10.2
tomli==1.1.0
torch==1.10.1
torchvision==0.11.2
tornado==6.1
tqdm @ file:///home/conda/feedstock_root/build_artifacts/tqdm_1632160078689/work
traitlets==5.0.5
transformers==4.6.1
typed-ast==1.4.3
typer==0.3.2
typing-extensions==3.7.4.3
urllib3==1.25.11
utils==1.0.1
virtualenv==20.7.2
wasabi==0.8.2
wcwidth==0.2.5
webencodings==0.5.1
websocket-client==1.1.0
Werkzeug==2.0.1
Whoosh==2.7.4
widgetsnbextension==3.5.1
wikipedia==1.4.0
wimpy==0.6
word2number==1.1
wordcloud==1.8.1
wrapt==1.12.1
xlrd==2.0.1
XlsxWriter==3.0.1
xlwt==1.3.0
xxhash==2.0.2
zc.lockfile==2.0
zipp==3.5.0
-
Configuration
# jupyterhub_config.py
-
Logs
# paste relevant logs here, if any
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:
Thank you for opening your first issue in this project! Engagement like this is essential for open source projects! :hugs:
If you haven't done so already, check out Jupyter's Code of Conduct. Also, please try to follow the issue template as it helps other other community members to contribute more effectively.
You can meet the other Jovyans by joining our Discourse forum. There is also an intro thread there where you can stop by and say Hi! :wave:
Welcome to the Jupyter community! :tada:
@Holmes5 Even if users are defined in the Hub admin panel, users still need to create their user/password with the "Sign up" dialog prior to signing in. In testing with Z2JH, I am seeing this working.
That said, I am also running into your original issue: that users are not created in the Hub after being authorized. Ideally, an admin authorizing a user would then create it in the hub's users table so they could log in.