SlideShare a Scribd company logo
1 of 65
Download to read offline
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

Similar to PayPal Access GDG DevFest

OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater OAuth - Don’t Throw the Baby Out with the Bathwater
OAuth - Don’t Throw the Baby Out with the Bathwater
Apigee | Google Cloud
 

Similar to PayPal Access GDG DevFest (20)

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

More from PayPal

Kraken
KrakenKraken
Kraken
PayPal
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London Intro
PayPal
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To Great
PayPal
 

More from PayPal (20)

PayPal's Private Cloud @ Scale
PayPal's Private Cloud @ ScalePayPal's Private Cloud @ Scale
PayPal's Private Cloud @ Scale
 
Kraken Front-Trends
Kraken Front-TrendsKraken Front-Trends
Kraken Front-Trends
 
Kraken
KrakenKraken
Kraken
 
Death To Passwords Droid Edition
Death To Passwords Droid EditionDeath To Passwords Droid Edition
Death To Passwords Droid Edition
 
Future Of Payments
Future Of PaymentsFuture Of Payments
Future Of Payments
 
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
The web can do that better - My adventure with HTML5 Vide, WebRTC and Shared ...
 
Death To Passwords
Death To PasswordsDeath To Passwords
Death To Passwords
 
KrakenJS
KrakenJSKrakenJS
KrakenJS
 
Battle Hack London Intro
Battle Hack London IntroBattle Hack London Intro
Battle Hack London Intro
 
Authentication for Droids
Authentication for DroidsAuthentication for Droids
Authentication for Droids
 
Concrete indentity really getting to know your users
Concrete indentity   really getting to know your usersConcrete indentity   really getting to know your users
Concrete indentity really getting to know your users
 
Online Identity: Getting to know your users
Online Identity: Getting to know your usersOnline Identity: Getting to know your users
Online Identity: Getting to know your users
 
Mobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern EuropeMobile payments at Droidcon Eastern Europe
Mobile payments at Droidcon Eastern Europe
 
Reinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer NetworkReinvigorating Stagnant Innovation Through Your Developer Network
Reinvigorating Stagnant Innovation Through Your Developer Network
 
Open Identity - getting to know your users
Open Identity - getting to know your usersOpen Identity - getting to know your users
Open Identity - getting to know your users
 
The Profitable Startup
The Profitable StartupThe Profitable Startup
The Profitable Startup
 
Startup Highway Workshop
Startup Highway WorkshopStartup Highway Workshop
Startup Highway Workshop
 
Droidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDKDroidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDK
 
Berlin Battle hack presentation
Berlin Battle hack presentationBerlin Battle hack presentation
Berlin Battle hack presentation
 
From Good To Great
From Good To GreatFrom Good To Great
From Good To Great
 

Recently uploaded

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 

PayPal Access GDG DevFest

Editor's Notes

  1. Final draft got introduced in April ’07Clunky to implement on client-sideIETF
  2. Current draft considered as stableFocus on performance & scalabilityDifferent authorization scenarios
  3. Current draft considered as stableFocus on performance & scalabilityDifferent authorization scenarios
  4. Good news:Choosing the technique isnot that important
  5. OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources & session management
  6. Good news:Choosing the technique isnot that important
  7. OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources
  8. OAuth: Grant access to resourcesOpenID Connect: Grant access to more specialized resources
  9. Real valueMore serious for some usecases