SlideShare a Scribd company logo
User Management with LastUser
         Kiran Jonnalagadda, HasGeek
       PyCon India, Pune, September 2011
                                           flickr.com/exfordy/128576390/
The What & The Why
LastUser is an identity
aggregating web service




                LastUser


   Your App 1   Your App 2   Your App 3
A simple goal

                     Login identifier that
 Login
                     users can remember

                     Relief from password
 Password
                     management
            Submit
                     No user registration.
                     Just login and use
OpenID:
URLs as Identity
OpenID in theory:

http://jace.livejournal.com/
URLs in the browser:


www.github.com
URLs in the browser:


      github.com
URLs in the browser:


http://github.com/
URLs in the browser:


https://github.com/
URLs as Identifiers
1. github.com
2. github.com/
3. www.github.com
4. www.github.com/
5. http://github.com
6. http://github.com/
7. http://www.github.com
8. http://www.github.com/
9. https://github.com
10. https://github.com/
11. https://www.github.com
12. https://www.github.com/
   Multiple strings; same final URL

                                     flickr.com/mynameisharsha/5157965638/
Contrast with email Addresses:
      kiran@hasgeek.in
 Change one character and it’s no longer
valid. Users are conditioned to type them
          in exactly every time
URL Ambiguity:
https://www.google.com/accounts/o8/id

One OpenID URL for all Google accounts
URL Ambiguity:
https://www.google.com/accounts/o8/id?id=AItOawnGAN1Swp5zAJn9UYCw0jivCRXg8qIe_9c
https://www.google.com/accounts/o8/id?id=AItOawm3y2JBSnIo0ZdNwtIa487VpQXtpbXNmU4


 Both are the same Google id, on different domains,
using directed identity. If you move to a new domain,
              all your users’ ids change
URLs are not reliable
identifiers for users
OpenID in practice
OAuth:
Delegated Identity
The delegated id model




         Your Application
The delegated id model
    Synchronizing identity across services?




               Your Application
Need a common identifier
across services. It’s usually
    an email address
LastUser as abstraction layer




     LastUser — OAuth Server


      Your App 1   Your App 2   Your App 3
Multiple apps,
all connected to
 one LastUser
     instance
1. Login screen provider
Connecting identities
Users sometimes login with
a different service provider

Accounts can be connected
if there is a common id

Twitter does not provide an
email address

GitHub provides only
md5sum of email via
Gravatar. Can be connected
if email is already known
Supported id providers

Twitter

Google

GitHub

OpenID (but not delegation)

Upcoming: LinkedIn, Facebook
OAuth: There is no single
standard called OAuth. Every
 implementation is different
There is no up-to-date Python
library for OAuth2. Every service
  provider has their own library.
    Contrast: Ruby has OmniAuth
LastUser implements
 OAuth 2.0 draft 16
   (with gaps filled in)
OAuth 2.0 has two parts

      OAuth                         OAuth
   Authorization                   Resource
      Server                        Server




 1. Request an     OAuth Client   2. Use token to
 access token                     access resource
OAuth 2.0 has two parts
                   OAuth 2.0 doesn’t
                    specify how this
      OAuth                              OAuth
                       bit works
   Authorization                        Resource
      Server                             Server

                    LastUser does



 1. Request an       OAuth Client      2. Use token to
 access token                          access resource
2. Resource providers
    (work in progress)
3. Central access control
Pending work

Seamless login UI and pure client-side JS login API

Non-web login flow

Authorization to resource server communication protocol

Support for token types other than bearer tokens
LastUser is BSD-licensed
https://github.com/hasgeek/lastuser

More Related Content

PPTX
Using ArcGIS with OAuth 2.0 - Esri DevSummit Dubai 2013
PPTX
A simple PHP LinkedIn OAuth 2.0 example
PPT
Linkedin & OAuth
PPTX
OAuth in the new .NET world (OWIN)
PPTX
OAuth 2
PPTX
The State of OAuth2
KEY
LinkedIn OAuth: Zero To Hero
PDF
OAuth2 and LinkedIn
Using ArcGIS with OAuth 2.0 - Esri DevSummit Dubai 2013
A simple PHP LinkedIn OAuth 2.0 example
Linkedin & OAuth
OAuth in the new .NET world (OWIN)
OAuth 2
The State of OAuth2
LinkedIn OAuth: Zero To Hero
OAuth2 and LinkedIn

What's hot (20)

PDF
OAuth2 primer
PDF
Intro to API Security with Oauth 2.0
PPTX
PDF
Introduction to OAuth2.0
PDF
The Many Flavors of OAuth - Understand Everything About OAuth2
PPTX
OAuth 2 Presentation
PPT
Oauth2.0
PDF
OAuth 2.0 an Overview
PPTX
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
KEY
OAuth 2.0
PPT
Silicon Valley Code Camp 2009: OAuth: What, Why and How
PPTX
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
ODP
Mohanraj - Securing Your Web Api With OAuth
PDF
Spring security oauth2
PDF
OAuth OpenID Connect
KEY
Rails 3 and OAuth for Barcamp Tampa
PPTX
Open id & OAuth
PPTX
Microservice with OAuth2
OAuth2 primer
Intro to API Security with Oauth 2.0
Introduction to OAuth2.0
The Many Flavors of OAuth - Understand Everything About OAuth2
OAuth 2 Presentation
Oauth2.0
OAuth 2.0 an Overview
OAuth 2.0 and Mobile Devices: Is that a token in your phone in your pocket or...
OAuth 2.0
Silicon Valley Code Camp 2009: OAuth: What, Why and How
OAuth 2.0 - The fundamentals, the good , the bad, technical primer and commo...
Mohanraj - Securing Your Web Api With OAuth
Spring security oauth2
OAuth OpenID Connect
Rails 3 and OAuth for Barcamp Tampa
Open id & OAuth
Microservice with OAuth2
Ad

Similar to User Management with LastUser (20)

KEY
OpenID vs OAuth - Identity on the Web
PDF
When and Why Would I use Oauth2?
PPT
PPTX
Intro to OAuth2 and OpenID Connect
PDF
OAuth - Open API Authentication
ODP
Securing your Web API with OAuth
PDF
Distributed Identities with OpenID
PDF
Distributed Identities with OpenID
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PPTX
OAuth
PDF
Secure Webservices
PDF
The Identity Problem of the Web and how to solve it
PDF
oauth-for-credentials-security-in-rest-api-access
PPTX
O auth
PDF
open id & o-auth
PPTX
OAuth2 Presentaion
PPTX
PDF
OAuth 1.0
PDF
OAuth and OEmbed
OpenID vs OAuth - Identity on the Web
When and Why Would I use Oauth2?
Intro to OAuth2 and OpenID Connect
OAuth - Open API Authentication
Securing your Web API with OAuth
Distributed Identities with OpenID
Distributed Identities with OpenID
OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth
Secure Webservices
The Identity Problem of the Web and how to solve it
oauth-for-credentials-security-in-rest-api-access
O auth
open id & o-auth
OAuth2 Presentaion
OAuth 1.0
OAuth and OEmbed
Ad

More from Kiran Jonnalagadda (17)

PDF
AirJaldi photo rout (April 2008)
PDF
The medium without the message (April 2008)
PDF
Understanding technology in e-governance (December 2007)
PDF
Namma service cash tracking system (January 2007)
PDF
What ails the Sarai Reader List? (August 2005)
PDF
On blogging as a career (June 2005)
PDF
Python's dynamic nature (rough slides, November 2004)
PDF
Python and Zope: An introduction (May 2004)
PDF
Human database relations (March 2004)
PPT
The technology of the Human Protein Reference Database (draft, 2003)
PDF
Introduction to Plone (November 2003)
PDF
ZODB, the Zope Object Database (May 2003)
PDF
XML-RPC and SOAP (April 2003)
ODP
Some dope on Zope (Jan 2002, Bangalore LUG)
KEY
Sustainability and bit-rot
PDF
e-Governance in Karnataka: An introduction
PDF
Cyberpunk Sci-Fi
AirJaldi photo rout (April 2008)
The medium without the message (April 2008)
Understanding technology in e-governance (December 2007)
Namma service cash tracking system (January 2007)
What ails the Sarai Reader List? (August 2005)
On blogging as a career (June 2005)
Python's dynamic nature (rough slides, November 2004)
Python and Zope: An introduction (May 2004)
Human database relations (March 2004)
The technology of the Human Protein Reference Database (draft, 2003)
Introduction to Plone (November 2003)
ZODB, the Zope Object Database (May 2003)
XML-RPC and SOAP (April 2003)
Some dope on Zope (Jan 2002, Bangalore LUG)
Sustainability and bit-rot
e-Governance in Karnataka: An introduction
Cyberpunk Sci-Fi

Recently uploaded (20)

PDF
NewMind AI Monthly Chronicles - July 2025
PDF
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Approach and Philosophy of On baking technology
PDF
Electronic commerce courselecture one. Pdf
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PPTX
Big Data Technologies - Introduction.pptx
PPT
Teaching material agriculture food technology
NewMind AI Monthly Chronicles - July 2025
How UI/UX Design Impacts User Retention in Mobile Apps.pdf
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
MYSQL Presentation for SQL database connectivity
Per capita expenditure prediction using model stacking based on satellite ima...
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Spectral efficient network and resource selection model in 5G networks
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Understanding_Digital_Forensics_Presentation.pptx
Empathic Computing: Creating Shared Understanding
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
The AUB Centre for AI in Media Proposal.docx
Approach and Philosophy of On baking technology
Electronic commerce courselecture one. Pdf
Diabetes mellitus diagnosis method based random forest with bat algorithm
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Big Data Technologies - Introduction.pptx
Teaching material agriculture food technology

User Management with LastUser