Upgrade to Pro — share decks privately, control downloads, hide ads and more …

User Management with LastUser

User Management with LastUser

Presentation at PyCon India in September 2011 on LastUser, an OAuth2 server for managing user accounts.

Avatar for Kiran Jonnalagadda

Kiran Jonnalagadda

September 26, 2011
Tweet

More Decks by Kiran Jonnalagadda

Other Decks in Programming

Transcript

  1. A simple goal Login Password Submit Login identifier that users

    can remember Relief from password management No user registration. Just login and use
  2. 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/
  3. Contrast with email Addresses: [email protected] Change one character and it’s

    no longer valid. Users are conditioned to type them in exactly every time
  4. 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
  5. There is no up-to-date Python library for OAuth2. Every service

    provider has their own library. Contrast: Ruby has OmniAuth
  6. OAuth 2.0 has two parts OAuth Authorization Server OAuth Resource

    Server OAuth Client 1. Request an access token 2. Use token to access resource
  7. OAuth 2.0 has two parts OAuth Authorization Server OAuth Resource

    Server OAuth Client 1. Request an access token 2. Use token to access resource OAuth 2.0 doesn’t specify how this bit works LastUser does
  8. 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