Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
15-437 OAuth 2.0
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ThierrySans
November 11, 2014
Education
170
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
15-437 OAuth 2.0
ThierrySans
November 11, 2014
More Decks by ThierrySans
See All by ThierrySans
CSCD27 Social Engineering
thierrysans
0
270
CSCD27 Web Security
thierrysans
0
470
CSCD27 Malicious Software
thierrysans
0
420
CSCD27 Protection
thierrysans
0
520
CSCD27 System Insecurity
thierrysans
0
450
CSCD27 Human Authentication
thierrysans
0
370
CSCD27 Network security
thierrysans
0
580
CSCD27 Network (in)security
thierrysans
0
570
CSCD27 Cryptography Protocols
thierrysans
0
740
Other Decks in Education
See All in Education
Book-keeping
bvr7352
0
120
2026年度秋学期 統計学 講義の進め方と成績評価について (2026. 9. 28)
akiraasano
PRO
0
190
Adobe Express
matleenalaakso
2
8.4k
Railsチュートリアル × 反転学習の事例紹介
yasslab
PRO
3
190k
General Introduction, Composition, Chemistry & Chemical Classes, Biosources, Therapeutic uses and Commercial Application of Secondary Metabolites.
drpoonamkc
0
140
批判的応用言語学ワークショップ(2026-08-12 お茶の⽔⼥⼦⼤学)
terasawat
0
200
AIがコードを書く時代に、何を教えるのか / What Should We Teach in the Age of AI-Generated Code?
ichiroc
1
570
遊ぶかね欲しさの犯行(ルビ:労働)です
shirayanagiryuji
0
290
INTRODUCTION TO THE CELL
pawan_pharm
0
310
未踏峰連山 Frontiers: Creating and Conquering Untrodden Peaks
ishii_mit
1
160
AIの力を100%引き出すために
frievea
0
550
Introduction to M&A
bvr7352
0
220
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
34k
Odyssey Design
rkendrick25
PRO
2
840
Building AI with AI
inesmontani
PRO
1
1.3k
[SF Ruby Conf 2025] Rails X
palkan
3
1.4k
How to make the Groovebox
asonas
2
2.5k
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Bash Introduction
62gerente
615
220k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
2
2.2k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.6k
エンジニアに許された特別な時間の終わり
watany
109
250k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
620
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
1k
Transcript
OAuth 2 Thierry Sans
Single-Sign-On (SSO) • Pubcookie (a.k.a webiso) • OpenID • SAML
(Security Assertion Markup Language) • OAuth • Mozilla Persona 1998 2005 2005 2010 2011 among others …
How OAuth 2 works
source: Choosing an SSO Strategy: SAML vs OAuth2
How to use OAuth The way OAuth is implemented by
Identity Providers varies • Google https://developers.google.com/accounts/docs/OAuth2 • Twitter https://dev.twitter.com/oauth • Facebook https://developers.facebook.com/docs/facebook-login/login-flow-for-web/v2.2 • Github https://developer.github.com/v3/oauth/
OAuth in Django • Python OAuth Toolkit https://django-oauth-toolkit.readthedocs.org/en/latest/ models.html •
Python Social OAuth https://github.com/omab/python-social-auth • django-allauth https://github.com/pennersr/django-allauth
Google Authentication with django-allauth
Configure Google On console.developers.google.com 1. Create a new project 2.
Create a new credential API management > Credentials
None
Install django-allauth $ pip install django-allauth
Configure the project and migrate INSTALLED_APPS = [ ...
'django.contrib.sites', 'allauth', 'allauth.account', ‘allauth.socialaccount', ‘allauth.socialaccount.providers.google', # use Google ] TEMPLATES = [ ... 'context_processors': [ ... 'django.template.context_processors.request', ], ... LOGIN_REDIRECT_URL = '/' AUTHENTICATION_BACKENDS = ( 'django.contrib.auth.backends.ModelBackend', 'allauth.account.auth_backends.AuthenticationBackend', ) ACCOUNT_USERNAME_REQUIRED = False ACCOUNT_EMAIL_VERIFICATION = "none" SOCIALACCOUNT_QUERY_EMAIL = True SITE_ID = 1 simpsonsapp/settings.py
URLs # Authentication urlpatterns += [ url(r'^accounts/', include('allauth.urls')), url(r'^logout/$', views.logout_view,
name='logout'), ] simpsonsapp/settings.py
Configure the database - register site
Configure the database - use Google
Login page http://localhost:8000/accounts/login http://localhost:8000/accounts/google/login