35
OPEN IDENTITY … ge$ng to know your users TIM MESSERSCHMIDT @SeraAndroid & cool stuff you can do with it

Open Identity - getting to know your users

  • Upload
    paypal

  • View
    597

  • Download
    0

Embed Size (px)

DESCRIPTION

This talk is about Open Identity and using it to create an amazing user experience. Also it handles topics like secure API communication to protect your service and users from different kind of attacks like CSRF. The difference between Authentication and Authorization are being highlighted and OAuth, OpenID Connect etc. get explained.

Citation preview

Page 1: Open Identity - getting to know your users

OPEN  IDENTITY  …  ge$ng  to  know  your  users      

TIM  MESSERSCHMIDT  @SeraAndroid  

&  cool  stuff  you  can  do  with  it  

Page 2: Open Identity - getting to know your users

Developer  Evangelist  PayPal  

Page 3: Open Identity - getting to know your users

What  does  PayPal  do  at  JSConf.eu?  

Page 4: Open Identity - getting to know your users

Rebuild  Developer  Experience:  developer.paypal.com  

Page 5: Open Identity - getting to know your users

What  is  idenEty?  

Page 6: Open Identity - getting to know your users

Do  we  always  use  the  same  idenHty?    

Page 7: Open Identity - getting to know your users

Should  we  always  use  the  same  idenHty?    

Page 8: Open Identity - getting to know your users

AuthenHcaHon  vs.  AuthorizaHon  

Page 9: Open Identity - getting to know your users

Current  standards  

Page 10: Open Identity - getting to know your users

Basic  AuthenHcaHon  

Page 11: Open Identity - getting to know your users

OAuth  1.0  

Page 12: Open Identity - getting to know your users

Request  Request  Token  

Grant  Request  Token  

Direct  User  to  Service   Obtain  AuthorizaEon  

Direct  to  Consumer  Request  Access  Token  

Grant  Access  Token  

Access  Resources  

Consumer   Service  Provider  

Page 13: Open Identity - getting to know your users

OAuth  1.0a  

Page 14: Open Identity - getting to know your users

OAuth  2.0  

Page 15: Open Identity - getting to know your users

Direct  User  to  Service   Obtain  AuthorizaEon  

Request  Access  Token  

Greant  Access  Token  

Direct  to  Consumer  Access  Resources  /  Profile  

Consumer   Service  Provider  

Page 16: Open Identity - getting to know your users

OAuth  2.0  and  the  Road  to  Hell  hPp://hueniverse.com/2012/07/oauth-­‐2-­‐0-­‐and-­‐the-­‐road-­‐to-­‐hell/  

Page 17: Open Identity - getting to know your users

hPp://homakov.blogspot.de/2013/03/oauth1-­‐oauth2-­‐oauth.html  

Page 18: Open Identity - getting to know your users

IdenEficaEon  

Page 19: Open Identity - getting to know your users

Name  

Email  

Date  of  Birth  

Locale  Time  Zone  

Address  

Gender  

Language  

Phone  Number  

CreaHon  Date  

Page 20: Open Identity - getting to know your users

OpenID  

Page 21: Open Identity - getting to know your users

BrowserID  Persona  

Page 22: Open Identity - getting to know your users

How  to  combine  both?  

Page 23: Open Identity - getting to know your users

OpenID  with  OAuth  Hybrid  Extension  

Page 24: Open Identity - getting to know your users

OpenID  Connect  

Page 25: Open Identity - getting to know your users

IdenHty  Providers  Social  vs.  Concrete  

Page 26: Open Identity - getting to know your users

ArEficial  barriers  

Page 27: Open Identity - getting to know your users

Yeah,  nice..  but  why?    

People  forget  passwords…    45%  admit  to  leaving  a  website  instead  of  re-­‐se$ng  their  password  or  answering  security  quesEons  *    *  Blue  Inc.  2011    

Page 28: Open Identity - getting to know your users

Also  they  hate  to  register    

Out  of  657  surveyed  users  66%  think  that  social  sign-­‐in  is  a  desirable  alternaEve.  *    *  Blue  Inc.  2011    

Page 29: Open Identity - getting to know your users

Where  else  should  we  use  authenHcaHon?  

Page 30: Open Identity - getting to know your users

JSONP  Cross-­‐domain  Request  (XDR)  

Page 31: Open Identity - getting to know your users

CORS  Cross-­‐Origin  Request  Sharing  

Page 32: Open Identity - getting to know your users

API  communicaHon    curl  -­‐v  hPps://api.paypal.com/v1/payments/payment  \  -­‐H  'Content-­‐Type:applicaEon/json'  \  -­‐H  'AuthorizaHon:Bearer  MyAwesomeToken'  \  -­‐d  '{  

 "intent":"sale",    "payer":{  

           "payment_method":"paypal"        },  

 "transacEons":[{      "amount":{        "total":"7.47",        "currency":"USD"  

               },    }]  

}‘  

Page 33: Open Identity - getting to know your users

XMLH\pRequest    Request:  POST  /cors  HTTP/1.1  Origin:  hPp://api.bob.com  Host:  api.bob.com    Response:  Access-­‐Control-­‐Allow-­‐Origin:  hPp://api.bob.com  Access-­‐Control-­‐Allow-­‐CredenEals:  true  Access-­‐Control-­‐Expose-­‐Headers:  FooBar  Content-­‐Type:  text/html;  charset=un-­‐8    source:  hPp://www.html5rocks.com/en/tutorials/cors/  

Page 34: Open Identity - getting to know your users

Wrap  up  Difference  between  authen.ca.on  and  authoriza.on  IdenHty  does  ma\er  Token  based  authenHcaHon  for  API  communicaHon  

Page 35: Open Identity - getting to know your users

QuesHons?    [email protected]  @SeraAndroid  slideshare.com/paypal