Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Introducing a new authenticator for JupyterHub
Search
Leticia Portella
March 23, 2019
Technology
1
340
Introducing a new authenticator for JupyterHub
Presenting Native Authenticator at Pycon Limerick, Ireland - 23/03/2019
Leticia Portella
March 23, 2019
Tweet
Share
More Decks by Leticia Portella
See All by Leticia Portella
Impulsionando sua carreira na tecnologia
leportella
2
350
O que vem depois do Django Girls? Uma introdução às Class Based Views
leportella
2
380
Apresentando um novo autenticador para o JupyterHub
leportella
0
290
Building your own website with Jekyll + Github Pages
leportella
0
140
What's beyond the Django Girls tutorial: an introduction to class based views
leportella
1
110
Introduction to Jupyter Notebooks & Data Analytics with Kaggle
leportella
0
100
Que belo dia para a ciência
leportella
1
93
Organizações Data-Driven
leportella
0
41
Serenata de Amor
leportella
0
51
Other Decks in Technology
See All in Technology
スクラムマスターが スクラムチームに入って取り組む5つのこと - スクラムガイドには書いてないけど入った当初から取り組んでおきたい大切なこと -
scrummasudar
1
1.6k
ESXi のAIOps だ!2025冬
unnowataru
0
480
2025-12-27 Claude CodeでPRレビュー対応を効率化する@機械学習社会実装勉強会第54回
nakamasato
4
1.4k
コールドスタンバイ構成でCDは可能か
hiramax
0
130
旬のブリと旬の技術で楽しむ AI エージェント設計開発レシピ
chack411
1
120
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
Node vs Deno vs Bun 〜推しランタイムを見つけよう〜
kamekyame
1
310
戰略轉變:從建構 AI 代理人到發展可擴展的技能生態系統
appleboy
0
180
Agentic AIが変革するAWSの開発・運用・セキュリティ ~Frontier Agentsを試してみた~ / Agentic AI transforms AWS development, operations, and security I tried Frontier Agents
yuj1osm
0
210
I tried making a solo advent calendar!
zzzzico
0
140
2025年のデザインシステムとAI 活用を振り返る
leveragestech
0
710
2025年 山梨の技術コミュニティを振り返る
yuukis
0
150
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.1k
The Language of Interfaces
destraynor
162
26k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
2
280
Rails Girls Zürich Keynote
gr2m
95
14k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Optimising Largest Contentful Paint
csswizardry
37
3.6k
Statistics for Hackers
jakevdp
799
230k
Self-Hosted WebAssembly Runtime for Runtime-Neutral Checkpoint/Restore in Edge–Cloud Continuum
chikuwait
0
270
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
74
Transcript
Introducing a new authenticator for JupyterHub
LETICIA PORTELLA /in/leportella @leportella @leleportella leportella.com pizzadedados.com
We love Jupyter notebooks <3
But… what if there are more people than just me?
None
JupyterHub HTTP Proxy Hub All icons where obtain on Flaticon
JupyterHub HTTP Proxy Hub Authenticator All icons where obtain on
Flaticon /hub/<url>
JupyterHub HTTP Proxy Hub Authenticator Spawners All icons where obtain
on Flaticon /hub/<url>
JupyterHub HTTP Proxy Hub Authenticator Spawners All icons where obtain
on Flaticon /hub/<url> /user/<name>
JupyterHub HTTP Proxy Hub Authenticator Spawners Database All icons where
obtain on Flaticon /hub/<url> /user/<name>
JupyterHub HTTP Proxy Hub Authenticator Spawners Database All icons where
obtain on Flaticon /user/<name> /hub/<url> Admin /hub/admin
JupyterHub HTTP Proxy Hub Authenticator Spawners Database Config.py All icons
where obtain on Flaticon /user/<name> /hub/<url> Admin /hub/admin
JupyterHub HTTP Proxy Hub Authenticator Spawners Database Config.py All icons
where obtain on Flaticon /user/<name> /hub/<url> Admin /hub/admin
JupyterHub Authenticator Options PAM LDAP OAuth FirstUse Dummy
JupyterHub Authenticator Options PAM LDAP OAuth FirstUse Dummy
JupyterHub Authenticator Options PAM LDAP OAuth FirstUse Dummy Native Authenticator
Native Authenticator /SIGNUP CREATES NEW USER USER IS UNAUTHORIZED USER
Native Authenticator /SIGNUP CREATES NEW USER USER IS UNAUTHORIZED /AUTHORIZE
USER IS AUTHORIZED ADMIN USER
Native Authenticator /SIGNUP CREATES NEW USER USER IS UNAUTHORIZED /
USER IS LOGGED IN /AUTHORIZE USER IS AUTHORIZED ADMIN USER USER
Native Authenticator
Native Authenticator Sign Up of users Username sanitization Blocking users
dynamically
Native Authenticator User can change password Password security check available
Block throttling attempts of login Add more information to signup 2fa (soon…)
Create an Authenticator / USERNAME + PASSWORD
Create an Authenticator / USERNAME + PASSWORD LOGIN HANDLER POST
METHOD POST
Create an Authenticator / USERNAME + PASSWORD LOGIN HANDLER AUTHORIZED
AUTHENTICATOR CLASS POST METHOD POST AUTHENTICATE METHOD UNAUTHORIZED
Create an Authenticator / USERNAME + PASSWORD LOGIN HANDLER AUTHORIZED
AUTHENTICATOR CLASS POST METHOD POST AUTHENTICATE METHOD UNAUTHORIZED
Create an Authenticator from jupyterhub.auth import Authenticator from tornado import
gen class NewAuth(Authenticator): # ... @gen.coroutine def authenticate(self, handler, data): if self.can_login: return data['username'] return
How did I end up here?
How did I end up here? Create a profile Be
accepted on the first step :) Resolve a micro-task for the project Submit a pull request
How did I end up here? Fill the final application
Wait for the results! Be part of an awesome team <3
How did I end up here?
LETICIA PORTELLA /in/leportella @leportella @leleportella leportella.com pizzadedados.com