SlideShare a Scribd company logo
IDENTIFY YOURSELF
                      WITH ACCESS


                                           Tim Messerschmidt
                                          Developer Evangelist
GDG DEVFEST 2012
                            developer.PayPal
                                                        1	
  
November 2012, Karlsruhe (via Hangout)
         @SeraAndroid
Who am I?








            2	
  
Agenda

•  What is PayPal Access?
•  How does it work?
•  Why should I use this?
•  How to implement that?
                             3	
  
Slides
          goo.gl/u3Rix



            SlideShare:
          PayPalEuDevs
                       4	
  
WHAT IS
ACCESS?

           5	
  
Can be used to login
 with your existing
 PayPal credentials

                       6	
  
Figure:
Q3 2012
  active
   users
      7	
  
Leverage existing
technology to push 
your own service(s)

                       8	
  
Based on OAuth 2.0 or
  OpenID Connect


                        9	
  
Not related to payments



                       10	
  
Free to use



               11	
  
Introduced in 2011



                      12	
  
Additional features
  coming soon!


                      13	
  
Registration of apps:
  devportal.x.com


                         14	
  
15	
  
HOW DOES IT
 LOOK LIKE?

               16	
  
17	
  
18	
  
19	
  
HOW DOES
IT WORK?


20	
        20	
  
OAuth?

     OpenID?
OpenID Connect?
                   21	
  
OAuth 1.0
             22	
  
OAuth 2.0
             23	
  
OPINIONS ON
  OAUTH 2

              24	
  
OAuth 2.0 &
            the Road to Hell

Eran Hammer: http://hueniverse.com/2012/07/oauth-2-0-and-the-road-to-hell/
   25	
  
“OAuth 2.0 offers little to
 none code re-usability”


                          26	
  
“What 2.0 offers is a
   blueprint for an
authorization protocol”

                       27	
  
On the Deadness
           of OAuth 2

Tim Bray: http://www.tbray.org/ongoing/When/201x/2012/07/28/Oauth2-dead
   28	
  
“OAuth 2 is
useful today.”


                  29	
  
“OAuth 2 may not be
perfect, and may have been
 harmed by the Enterprise
 crap, but the core of Web
 functionality […] seems to
       have survived.”

                          30	
  
OpenID
Connect
           31	
  
5 scopes    1.    profile
             2.    email
for access
             3.    address
   to the
             4.    phone
  profile:
   5.    attributes

                                 32	
  
THE
DIFFERENCE

          33	
  
OAuth 2.0 implementation
   can be easily changed to
       OpenID Connect
               
Jonathan LeBlanc: https://www.x.com/developers/community/blogs/
jcleblanc/migrating-paypal-access-integration-oauth-2-openid-connect	
     34	
  
WHY
SHOULD I
USE THIS?
             35	
  
People forget passwords…

“45 % admit to leaving a website
instead of re-setting their password
or answering security questions” *

* Blue Inc. 2011   
                                       36	
  
People don’t like to register…

Out of 657 surveyed users 66 %
think that social sign-in is a desirable
alternative. *

* Blue Inc. 2011


                                       37	
  
THE VALUE

             38	
  
Leverage
an existing
    profile

         39	
  
Verified user
 accounts

               40	
  
THE FLOW
     &
SOME CODE
             41	
  
Authorization Flow
          Client
                    Server
1.  Open Authorization     2.  Provide login page
    Endpoint URL
          3.  Return Authorization
4.  Check callbacks for        Token after
    Authorization Token
       successful login
5.  Request a valid        6.  Check Authorization
    Access Token
              Token & return
7.  Retrieve user’s            Access Token if valid
    resources

                                                    42	
  
Your components (OAuth 2)
Server endpoints: 




Client details:




                             43	
  
Load the Authorization URL in
      a WebView and…



                            44	
  
… start checking the URLs your
     WebView is loading	
  




                            45	
  
Retrieve the Access Token	
  




                                46	
  
THE REPLY
{
     "access_token": "something not so long",
     "token_type": "Bearer",
     "refresh_token": ”something not so long",
     "expires_in": 900,
     "id_token": "something very long"
}

                                                  47	
  
REFRESHING A TOKEN
   Do a POST including the
Refresh Token to this endpoint:
               

  https://www.paypal.com/
   webapps/auth/protocol/
openidconnect/v1/tokenservice
                              48	
  
REFRESHING A TOKEN
 Change the Grant Type:
grant_type=refresh_token
           
 Add the profile’s scope
      scope=profile
                            49	
  
VALIDATION
  Do a POST including the
Access Token to this endpoint:
              

  https://www.paypal.com/
   webapps/auth/protocol/
  openidconnect/v1/checkid
                              50	
  
VALIDATION
Provide the id_token value
 you got when receiving
    the Access Token
            

 access_token=myToken

                              51	
  
LOGGING OUT THE USER
  Do a POST including the
Access Token to this endpoint:
              

  https://www.paypal.com/
  webapps/auth/protocol/
openidconnect/v1/endsession
                             52	
  
LOGGING OUT THE USER
  Furthermore you have to
add the following parameters
        to the POST:
             

redirect_url=myFancyUrl.com
         logout=true
                            53	
  
FURTHER
INFORMATION

           54	
  
Useful links
•  goo.gl/y9HKO
  – Migrating PayPal Access to from OAuth 2
    to OpenID Connect (Jonathan LeBlanc)
  
•  goo.gl/1wjRV
  –  Sample project which has some helper classes
     that enable easy integration Access into your
     Android app
  –  Apache V2

                                                 55	
  
Official developer resources
•  x.com/identity
  –  PayPal Access Developer Guide
  
•  x.com/mobile
  –  PayPal payment products
     •  Mobile Payments Library (native)
     •  Mobile Express Checkout (web)




                                            56	
  
Help!!?! Problems?
•  paypal.com/dts
  –  Developer Technical Services
  –  Ticketing


•  x.com/developers/paypal/forums
  –  PayPal Developer Forums
  

                                     57	
  
INNOVATION

              58	
  
QR Code adoption
between different
    countries

                    59	
  
% of Smartphone Audience
      20	
  
      18	
  
      16	
  
      14	
  
      12	
  
      10	
  
        8	
  
        6	
  
        4	
  
        2	
  
        0	
  
                Germany	
      France	
     UK	
     Italy	
     Spain	
  

* comScore MobiLens July 2012        
                                                                             60	
  
Adoption of QR Codes

70% of 30.000.000 surveyed
German households recognize QR
Codes and know how to use them *

* Nielsen 2011   
                                61	
  
Available"
      for "
 Android"
   & iOS

         62	
  
TL;DR
         
PayPal Access enhances
applications by adding a
   verified user-base


                           63	
  
QUESTIONS?

          64	
  
THANKS!
 tmesserschmidt@paypal.com
@seraandroid / @paypaleurodev
      +tim messerschmidt
  slideshare.net/PayPalEuDev

                                 65	
  

More Related Content

PPT
Поиск эффективных решений. Сессия генерации идей с привлечением инструментов ...
PPTX
Monetize your idea! By Orkun Saitoglu
PPTX
Task 3
PPTX
Codemotion1
PPT
Felins america sud ocelot
PPTX
Exposure Risk Assessment Challenges By Maharshi Mehta, ISS In AIHA 2013
PDF
How PayPal uses Open Identity
PDF
Поиск эффективных решений. Сессия генерации идей с привлечением инструментов ...
Monetize your idea! By Orkun Saitoglu
Task 3
Codemotion1
Felins america sud ocelot
Exposure Risk Assessment Challenges By Maharshi Mehta, ISS In AIHA 2013
How PayPal uses Open Identity

Similar to PayPal Access GDG DevFest (20)

PPTX
Lecture 20101124
PDF
OAuth: Trust Issues
PDF
OAuth2 and LinkedIn
PDF
Mobile Authentication - Onboarding, best practices & anti-patterns
PDF
OAuth for QuickBooks Online REST Services
PPTX
OAuth with Salesforce - Demystified
PPTX
OAuth2 and OpenID with Spring Boot
PPTX
Secure your app with keycloak
PDF
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
PDF
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
PPTX
OAuth - Don’t Throw the Baby Out with the Bathwater
PPTX
Box connector
PPTX
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
PDF
Authentication options for Open edX: focus on OAuth and OpenID
PPTX
Api security
PPTX
Esquema de pasos de ejecución IdM
PDF
OpenID 4 Verifiable Credentials + HAIP (Update)
PDF
Stateless Auth using OAuth2 & JWT
PDF
ざっくり解説 LINE ログイン
PDF
Authentication in microservice systems - fsto 2017
Lecture 20101124
OAuth: Trust Issues
OAuth2 and LinkedIn
Mobile Authentication - Onboarding, best practices & anti-patterns
OAuth for QuickBooks Online REST Services
OAuth with Salesforce - Demystified
OAuth2 and OpenID with Spring Boot
Secure your app with keycloak
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
OAuth - Don’t Throw the Baby Out with the Bathwater
Box connector
How to Build Interoperable Decentralized Identity Systems with OpenID for Ver...
Authentication options for Open edX: focus on OAuth and OpenID
Api security
Esquema de pasos de ejecución IdM
OpenID 4 Verifiable Credentials + HAIP (Update)
Stateless Auth using OAuth2 & JWT
ざっくり解説 LINE ログイン
Authentication in microservice systems - fsto 2017
Ad

More from PayPal (20)

PPTX
PayPal's Private Cloud @ Scale
PDF
Kraken Front-Trends
PPTX
Kraken
PDF
Death To Passwords Droid Edition
PPTX
Future Of Payments
PDF
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
PDF
Death To Passwords
PDF
KrakenJS
PPTX
Battle Hack London Intro
PPTX
Authentication for Droids
PDF
Concrete indentity really getting to know your users
PDF
Online Identity: Getting to know your users
PPTX
Mobile payments at Droidcon Eastern Europe
PPTX
Reinvigorating Stagnant Innovation Through Your Developer Network
PDF
Open Identity - getting to know your users
PPTX
The Profitable Startup
PDF
Startup Highway Workshop
PDF
Droidcon Paris: The new Android SDK
PPTX
Berlin Battle hack presentation
PDF
From Good To Great
PayPal's Private Cloud @ Scale
Kraken Front-Trends
Kraken
Death To Passwords Droid Edition
Future Of Payments
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
Death To Passwords
KrakenJS
Battle Hack London Intro
Authentication for Droids
Concrete indentity really getting to know your users
Online Identity: Getting to know your users
Mobile payments at Droidcon Eastern Europe
Reinvigorating Stagnant Innovation Through Your Developer Network
Open Identity - getting to know your users
The Profitable Startup
Startup Highway Workshop
Droidcon Paris: The new Android SDK
Berlin Battle hack presentation
From Good To Great
Ad

Recently uploaded (20)

PPTX
MYSQL Presentation for SQL database connectivity
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PPTX
Spectroscopy.pptx food analysis technology
PPTX
Machine Learning_overview_presentation.pptx
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Electronic commerce courselecture one. Pdf
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Encapsulation theory and applications.pdf
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Machine learning based COVID-19 study performance prediction
PPTX
Cloud computing and distributed systems.
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Empathic Computing: Creating Shared Understanding
PPTX
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx
MYSQL Presentation for SQL database connectivity
Advanced methodologies resolving dimensionality complications for autism neur...
Mobile App Security Testing_ A Comprehensive Guide.pdf
Chapter 3 Spatial Domain Image Processing.pdf
The AUB Centre for AI in Media Proposal.docx
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Spectroscopy.pptx food analysis technology
Machine Learning_overview_presentation.pptx
Encapsulation_ Review paper, used for researhc scholars
Electronic commerce courselecture one. Pdf
Review of recent advances in non-invasive hemoglobin estimation
Encapsulation theory and applications.pdf
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Machine learning based COVID-19 study performance prediction
Cloud computing and distributed systems.
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Spectral efficient network and resource selection model in 5G networks
Reach Out and Touch Someone: Haptics and Empathic Computing
Empathic Computing: Creating Shared Understanding
ACSFv1EN-58255 AWS Academy Cloud Security Foundations.pptx

PayPal Access GDG DevFest

Editor's Notes

  • #22: Final draft got introduced in April ’07Clunky to implement on client-sideIETF
  • #23: Current draft considered as stableFocus on performance & scalabilityDifferent authorization scenarios
  • #31: Current draft considered as stableFocus on performance & scalabilityDifferent authorization scenarios
  • #32: Good news:Choosing the technique isnot that important
  • #33: OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources & session management
  • #34: Good news:Choosing the technique isnot that important
  • #36: OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources
  • #37: OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources
  • #40: Real valueMore serious for some usecases