SlideShare une entreprise Scribd logo
1  sur  133
Télécharger pour lire hors ligne
OpenID & OAuth for the
Consumer Web
Chris Messina
David Primmer
Eric Sachs

Ping Cloud Identity Summit
Keystone, CO
July 20, 2010
Agenda
• The Value
• The Technology
• The Future


• Breakouts
Agenda
• The Value
• The Technology
• The Future


• Breakouts
The Value
What
chris.messina@gmail.com

••••••••••
Why support third party auth?
(Answers that relying parties should care about!)
• Who do you want to be, in this context?
• Who do you want to hang out with (in this context)?
• How can we be instantly relevant and meet your needs
  with minimal effort?
• What kind of handles and scaffolding can we provide to make it
  easier to create social interaction?




22
Why
Plaxo’s 92% Success Story
Spot the problem?
Second Brain
Evil Bad Brain
Plaxo’s 92% success story
• specially-crafted email to Gmail users
• Gmail users likely to have Google profile & address book
• one-click sign up and address book import
• also requests name, verified email address
Plaxo’s 92% success story
• Better for the user: higher success rate with no password anti-
  pattern
• Better for the provider: Happy users and no automated data
  scraping
• Better for the site: Higher conversion rate; more informed social
  graph
+   + Portable Contacts
Photo by Teresa Stanton
Unique OpenID Relying Parties
    As of July 1, 2009


                50,000

                40,000

                30,000

                20,000

                10,000

                    0
                          5

                               06


                                    06


                                         06


                                               6

                                                    07


                                                         07


                                                              07


                                                                    7

                                                                         08


                                                                              08


                                                                                   08


                                                                                         8

                                                                                              09


                                                                                                   09
                          /0




                                               /0




                                                                    /0




                                                                                         /0
                               1/


                                    4/


                                         7/




                                                    1/


                                                         4/


                                                              7/




                                                                         1/


                                                                              4/


                                                                                   7/




                                                                                              1/


                                                                                                   7/
                         10




                                              10




                                                                   10




Data from Janrain
                                                                                        10
1 Billion+ OpenIDs
Janrain
OpenID usage trends (Janrain)
   OpenID Providers on UserVoice




       34%                                                   33%




                                                       10%
                     15%
                                         8%

                 Google       Facebook        Yahoo!    Other
                 Twitter




Data from Janrain, May 2010
OpenID usage trends (Janrain)
   OpenID Providers on Interscope Records

                              8%



              12%




   12%
                                                             52%




              6%




                           10%


                 Google          Facebook   Yahoo!   Other
                 Twitter         MySpace




Data from Janrain, May 2010
OpenID usage trends (Janrain)
    OpenID Providers on sulit.com.ph

                                              10%

                 24%




   1%




                                                 64%



                 Google            Facebook   Yahoo!   Other




Chart from Janrain, January 2009
OpenID usage trends (Janrain)
   Sign in preferences across all properties


                                      23.5%

                                                      Google
   38.8%
                                                      Facebook
                                                      Yahoo!
                                                      Other (MySpace, Windows Live, AOL, etc)
                                              13.0%
                                                      Twitter

                      5.8%
                              18.9%




Data from Janrain, May 2010
Gigya
Third-party authentication usage trends (Gigya)
   Sign in preferences across all Gigya properties




Source: Gigya, June 2010
Third-party authentication usage trends (Gigya)
   Sign in preferences across entertainment sites




Source: Gigya, June 2010
Third-party authentication usage trends (Gigya)
   Sign in preferences across news sites




Source: Gigya, June 2010
Third-party authentication usage trends (Gigya)
   Sign in preferences across B2B sites




Source: Gigya, June 2010
Echo
Source: Echo, March 2010
What does this tell us?




54
What does this tell us?

• People use different identities for different purposes




54
What does this tell us?

• People use different identities for different purposes
• Ultimately choice and competition is a good thing to foster in this
  early landscape




54
What does this tell us?

• People use different identities for different purposes
• Ultimately choice and competition is a good thing to foster in this
  early landscape
• Digital identity is in its infancy; it’s too early to pick the winners




54
What does this tell us?




         Basecamp         Lady Gaga
+
Totals

         Janrain    OAuth   32%

                   OpenID   48%+


         Gigya      OAuth   62%

                   OpenID   38%


         Echo       OAuth   35%

                   OpenID   64%
It’s inevitable
conversion, convenience, costs
service
How
NASCAR
Photo by larry wfu
Photo by Vaguely Artistic
XAuth
WebFinger
WebFinger
The Hammer Stack
Discovery for the open web
How WebFinger works




           Enter email:   Email   Lookup
How WebFinger works




           Enter email:   chris.messina@gmail.com   Lookup
How WebFinger works




           Enter email:   chris.messina@gmail.com   Lookup
How WebFinger works
Discovering a user’s WebFinger profile




                           chris.messina@gmail.com
How WebFinger works
Discovering a user’s WebFinger profile




                           chris.messina@gmail.com




                                        {
                                      domain
How WebFinger works
Discovering a user’s WebFinger profile




                           chris.messina@gmail.com




                                        {
                                      domain
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Use host meta to retrieve an LRDD document




            $curl http://gmail.com/.well-known/host-meta
How WebFinger works
Server returns LRDD document




   <?xml version='1.0' encoding='UTF-8'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'
        xmlns:hm='http://host-meta.net/xrd/1.0'>
     <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>
     <Link rel='lrdd'
           template='http://www.google.com/s2/webfinger/?q={uri}'>
       <Title>Resource Descriptor</Title>
     </Link>
   </XRD>
How WebFinger works
Server returns LRDD document




   <?xml version='1.0' encoding='UTF-8'?>
   <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'
        xmlns:hm='http://host-meta.net/xrd/1.0'>
     <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>
     <Link rel='lrdd'
           template='http://www.google.com/s2/webfinger/?q={uri}'>
       <Title>Resource Descriptor</Title>
     </Link>
   </XRD>
How WebFinger works
Plugin acct: into URI Template




                     http://www.google.com/s2/webfinger/?q={uri}
How WebFinger works
Plugin acct: into URI Template




                            chris.messina@gmail.com



                     http://www.google.com/s2/webfinger/?q={uri}
How WebFinger works
Plugin acct: into URI Template




                         acct:chris.messina@gmail.com



                     http://www.google.com/s2/webfinger/?q={uri}
How WebFinger works
Plugin acct: into URI Template




        http://www.google.com/s2/webfinger/?q={uri}
                                              acct:chris.messina@gmail.com
How WebFinger works
Plugin acct: into URI Template




        http://www.google.com/s2/webfinger/?q={uri}
                                              acct:chris.messina@gmail.com
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
How WebFinger works
Retrieve WebFinger document




   $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
How WebFinger works
XRD Profile
<?xml version='1.0'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
    <Subject>acct:chris.messina@gmail.com</Subject>
    <Alias>http://www.google.com/profiles/chris.messina</Alias>
    <Link rel='http://portablecontacts.net/spec/1.0'
      href='http://www-opensocial.googleusercontent.com/api/people/'/>
    <Link rel='http://webfinger.net/rel/profile-page'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://microformats.org/profile/hcard'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://gmpg.org/xfn/11'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://specs.openid.net/auth/2.0/provider'
      href='http://www.google.com/profiles/chris.messina'/>
    <Link rel='describedby'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='describedby'
      href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf'
      type='application/rdf+xml'/>
    <Link rel='http://schemas.google.com/g/2010#updates-from'
      href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted'
      type='application/atom+xml'/>
</XRD>
How WebFinger works
XRD Profile
<?xml version='1.0'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
    <Subject>acct:chris.messina@gmail.com</Subject>
    <Alias>http://www.google.com/profiles/chris.messina</Alias>
    <Link rel='http://portablecontacts.net/spec/1.0'
      href='http://www-opensocial.googleusercontent.com/api/people/'/>
    <Link rel='http://webfinger.net/rel/profile-page'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://microformats.org/profile/hcard'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://gmpg.org/xfn/11'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://specs.openid.net/auth/2.0/provider'
      href='http://www.google.com/profiles/chris.messina'/>
    <Link rel='describedby'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='describedby'
      href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf'
      type='application/rdf+xml'/>
    <Link rel='http://schemas.google.com/g/2010#updates-from'
      href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted'
      type='application/atom+xml'/>
</XRD>
How WebFinger works
XRD Profile
<?xml version='1.0'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
    <Subject>acct:chris.messina@gmail.com</Subject>
    <Alias>http://www.google.com/profiles/chris.messina</Alias>
    <Link rel='http://portablecontacts.net/spec/1.0'
      href='http://www-opensocial.googleusercontent.com/api/people/'/>
    <Link rel='http://webfinger.net/rel/profile-page'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://microformats.org/profile/hcard'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://gmpg.org/xfn/11'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://specs.openid.net/auth/2.0/provider'
      href='http://www.google.com/profiles/chris.messina'/>
    <Link rel='describedby'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='describedby'
      href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf'
      type='application/rdf+xml'/>
    <Link rel='http://schemas.google.com/g/2010#updates-from'
      href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted'
      type='application/atom+xml'/>
</XRD>
How WebFinger works
XRD Profile
<?xml version='1.0'?>
<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'>
    <Subject>acct:chris.messina@gmail.com</Subject>
    <Alias>http://www.google.com/profiles/chris.messina</Alias>
    <Link rel='http://portablecontacts.net/spec/1.0'
      href='http://www-opensocial.googleusercontent.com/api/people/'/>
    <Link rel='http://webfinger.net/rel/profile-page'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://microformats.org/profile/hcard'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://gmpg.org/xfn/11'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='http://specs.openid.net/auth/2.0/provider'
      href='http://www.google.com/profiles/chris.messina'/>
    <Link rel='describedby'
      href='http://www.google.com/profiles/chris.messina'
      type='text/html'/>
    <Link rel='describedby'
      href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf'
      type='application/rdf+xml'/>
    <Link rel='http://schemas.google.com/g/2010#updates-from'
      href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted'
      type='application/atom+xml'/>
</XRD>
Putting it together
Making OpenID easier using an email address




                 Enter email:   Email         Connect
                                              Lookup
Putting it together
Making OpenID easier using an email address




                 Enter email:   Email         Connect
Putting it together
Making OpenID easier using an email address




                 Enter email:   chris.messina@gmail.com   Connect
Putting it together
Making OpenID easier using an email address




                 Enter email:   chris.messina@gmail.com   Connect
Putting it together
Making OpenID easier using an email address




                  Signed in as: Chris Messina

                                                
Putting it together
Making OpenID easier using an email address




                  Signed in as: Chris Messina

                                                
Connect
The anatomy of connect
...according to David Recordon




95   Source O’Reilly Radar.
The anatomy of connect
...according to David Recordon
• Profile (identity, accounts, profiles)




95   Source O’Reilly Radar.
The anatomy of connect
...according to David Recordon
• Profile (identity, accounts, profiles)
• Relationships (followers, friends, contacts)




95   Source O’Reilly Radar.
The anatomy of connect
...according to David Recordon
• Profile (identity, accounts, profiles)
• Relationships (followers, friends, contacts)
• Content (posts, photos, videos, links)




95   Source O’Reilly Radar.
The anatomy of connect
...according to David Recordon
• Profile (identity, accounts, profiles)
• Relationships (followers, friends, contacts)
• Content (posts, photos, videos, links)
• Activity (poked, bought, shared, blogged)




95   Source O’Reilly Radar.
The anatomy of connect
...according to David Recordon
• Profile (identity, accounts, profiles)
• Relationships (followers, friends, contacts)
• Content (posts, photos, videos, links)
• Activity (poked, bought, shared, blogged)


• Goal: Discovery of new people and content




95   Source O’Reilly Radar.
Connect
Agenda
• The Value
• The Technology
• The Future


• Breakouts

Contenu connexe

Similaire à OpenID & OAuth for the Consumer Web Workshop, Part 1 of 3

24.com Blogging Workshop
24.com Blogging Workshop24.com Blogging Workshop
24.com Blogging WorkshopJustin Hartman
 
"Open CRM" - Tom Schuster
"Open CRM" - Tom Schuster"Open CRM" - Tom Schuster
"Open CRM" - Tom SchusterOutdare
 
Nanomaterials 2010
Nanomaterials 2010Nanomaterials 2010
Nanomaterials 2010Tim Harper
 
Engaging interaction part two
Engaging interaction part twoEngaging interaction part two
Engaging interaction part twocarolinestallings
 
Twitter en EE.UU 2010
Twitter en EE.UU 2010Twitter en EE.UU 2010
Twitter en EE.UU 2010Esther Vargas
 
Twitter usage in_america_2010
Twitter usage in_america_2010Twitter usage in_america_2010
Twitter usage in_america_2010Jack Noble
 

Similaire à OpenID & OAuth for the Consumer Web Workshop, Part 1 of 3 (8)

24.com Blogging Workshop
24.com Blogging Workshop24.com Blogging Workshop
24.com Blogging Workshop
 
Tweet!tweet!
Tweet!tweet!Tweet!tweet!
Tweet!tweet!
 
"Open CRM" - Tom Schuster
"Open CRM" - Tom Schuster"Open CRM" - Tom Schuster
"Open CRM" - Tom Schuster
 
Nanomaterials 2010
Nanomaterials 2010Nanomaterials 2010
Nanomaterials 2010
 
Engaging interaction part two
Engaging interaction part twoEngaging interaction part two
Engaging interaction part two
 
Twitter en EE.UU 2010
Twitter en EE.UU 2010Twitter en EE.UU 2010
Twitter en EE.UU 2010
 
Twitter usage in_america_2010
Twitter usage in_america_2010Twitter usage in_america_2010
Twitter usage in_america_2010
 
Twitter usage in america 2010
Twitter usage in america 2010Twitter usage in america 2010
Twitter usage in america 2010
 

Plus de Chris Messina

Uber Developer Platform Overview for Apigee Webcast
Uber Developer Platform Overview for Apigee WebcastUber Developer Platform Overview for Apigee Webcast
Uber Developer Platform Overview for Apigee WebcastChris Messina
 
Joining the conversation
Joining the conversationJoining the conversation
Joining the conversationChris Messina
 
Joining the Conversation
Joining the ConversationJoining the Conversation
Joining the ConversationChris Messina
 
Future of the Social Web and How to Stop It
Future of the Social Web and How to Stop ItFuture of the Social Web and How to Stop It
Future of the Social Web and How to Stop ItChris Messina
 
SWAT0 (variant flow)
SWAT0 (variant flow)SWAT0 (variant flow)
SWAT0 (variant flow)Chris Messina
 
Google & the open, social web
Google & the open, social webGoogle & the open, social web
Google & the open, social webChris Messina
 
Activity Streams, Socialism, & the Future of Open Source
Activity Streams,  Socialism,  & the Future of Open SourceActivity Streams,  Socialism,  & the Future of Open Source
Activity Streams, Socialism, & the Future of Open SourceChris Messina
 
The Open and Social Web
The Open and Social WebThe Open and Social Web
The Open and Social WebChris Messina
 
The Future of the Social Web and How to Stop It
The Future of the Social Web and How to Stop ItThe Future of the Social Web and How to Stop It
The Future of the Social Web and How to Stop ItChris Messina
 
Google and the Social Web (Mexico City Dev Fest 2010)
Google and the Social Web (Mexico City Dev Fest 2010)Google and the Social Web (Mexico City Dev Fest 2010)
Google and the Social Web (Mexico City Dev Fest 2010)Chris Messina
 
ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?Chris Messina
 
Identity is the platform (Netflix)
Identity is the platform (Netflix)Identity is the platform (Netflix)
Identity is the platform (Netflix)Chris Messina
 
Identity is the platform (Toronto)
Identity is the platform (Toronto)Identity is the platform (Toronto)
Identity is the platform (Toronto)Chris Messina
 
Identity is the Platform (Russian variant)
Identity is the Platform (Russian variant)Identity is the Platform (Russian variant)
Identity is the Platform (Russian variant)Chris Messina
 
Identity is the Platform
Identity is the PlatformIdentity is the Platform
Identity is the PlatformChris Messina
 
The Open, Social Web Workshop
The Open, Social Web WorkshopThe Open, Social Web Workshop
The Open, Social Web WorkshopChris Messina
 
Social Network Supermarkets and How to Defeat Them
Social Network Supermarkets and How to Defeat ThemSocial Network Supermarkets and How to Defeat Them
Social Network Supermarkets and How to Defeat ThemChris Messina
 
Openness In The Era Of Social Web
Openness In The Era Of Social WebOpenness In The Era Of Social Web
Openness In The Era Of Social WebChris Messina
 
The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)Chris Messina
 
New Assumptions for Designing for the Social Web
New Assumptions for Designing for the Social WebNew Assumptions for Designing for the Social Web
New Assumptions for Designing for the Social WebChris Messina
 

Plus de Chris Messina (20)

Uber Developer Platform Overview for Apigee Webcast
Uber Developer Platform Overview for Apigee WebcastUber Developer Platform Overview for Apigee Webcast
Uber Developer Platform Overview for Apigee Webcast
 
Joining the conversation
Joining the conversationJoining the conversation
Joining the conversation
 
Joining the Conversation
Joining the ConversationJoining the Conversation
Joining the Conversation
 
Future of the Social Web and How to Stop It
Future of the Social Web and How to Stop ItFuture of the Social Web and How to Stop It
Future of the Social Web and How to Stop It
 
SWAT0 (variant flow)
SWAT0 (variant flow)SWAT0 (variant flow)
SWAT0 (variant flow)
 
Google & the open, social web
Google & the open, social webGoogle & the open, social web
Google & the open, social web
 
Activity Streams, Socialism, & the Future of Open Source
Activity Streams,  Socialism,  & the Future of Open SourceActivity Streams,  Socialism,  & the Future of Open Source
Activity Streams, Socialism, & the Future of Open Source
 
The Open and Social Web
The Open and Social WebThe Open and Social Web
The Open and Social Web
 
The Future of the Social Web and How to Stop It
The Future of the Social Web and How to Stop ItThe Future of the Social Web and How to Stop It
The Future of the Social Web and How to Stop It
 
Google and the Social Web (Mexico City Dev Fest 2010)
Google and the Social Web (Mexico City Dev Fest 2010)Google and the Social Web (Mexico City Dev Fest 2010)
Google and the Social Web (Mexico City Dev Fest 2010)
 
ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?ActivityStrea.ms: Is It Getting Streamy In Here?
ActivityStrea.ms: Is It Getting Streamy In Here?
 
Identity is the platform (Netflix)
Identity is the platform (Netflix)Identity is the platform (Netflix)
Identity is the platform (Netflix)
 
Identity is the platform (Toronto)
Identity is the platform (Toronto)Identity is the platform (Toronto)
Identity is the platform (Toronto)
 
Identity is the Platform (Russian variant)
Identity is the Platform (Russian variant)Identity is the Platform (Russian variant)
Identity is the Platform (Russian variant)
 
Identity is the Platform
Identity is the PlatformIdentity is the Platform
Identity is the Platform
 
The Open, Social Web Workshop
The Open, Social Web WorkshopThe Open, Social Web Workshop
The Open, Social Web Workshop
 
Social Network Supermarkets and How to Defeat Them
Social Network Supermarkets and How to Defeat ThemSocial Network Supermarkets and How to Defeat Them
Social Network Supermarkets and How to Defeat Them
 
Openness In The Era Of Social Web
Openness In The Era Of Social WebOpenness In The Era Of Social Web
Openness In The Era Of Social Web
 
The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)The Open, Social Web (N2Y4)
The Open, Social Web (N2Y4)
 
New Assumptions for Designing for the Social Web
New Assumptions for Designing for the Social WebNew Assumptions for Designing for the Social Web
New Assumptions for Designing for the Social Web
 

Dernier

Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Mark Simos
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...itnewsafrica
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Kaya Weers
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesBernd Ruecker
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Karmanjay Verma
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 

Dernier (20)

Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
Tampa BSides - The No BS SOC (slides from April 6, 2024 talk)
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...Abdul Kader Baba- Managing Cybersecurity Risks  and Compliance Requirements i...
Abdul Kader Baba- Managing Cybersecurity Risks and Compliance Requirements i...
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)Design pattern talk by Kaya Weers - 2024 (v2)
Design pattern talk by Kaya Weers - 2024 (v2)
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
QCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architecturesQCon London: Mastering long-running processes in modern architectures
QCon London: Mastering long-running processes in modern architectures
 
Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#Microservices, Docker deploy and Microservices source code in C#
Microservices, Docker deploy and Microservices source code in C#
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 

OpenID & OAuth for the Consumer Web Workshop, Part 1 of 3

  • 1. OpenID & OAuth for the Consumer Web Chris Messina David Primmer Eric Sachs Ping Cloud Identity Summit Keystone, CO July 20, 2010
  • 2. Agenda • The Value • The Technology • The Future • Breakouts
  • 3. Agenda • The Value • The Technology • The Future • Breakouts
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Why support third party auth? (Answers that relying parties should care about!) • Who do you want to be, in this context? • Who do you want to hang out with (in this context)? • How can we be instantly relevant and meet your needs with minimal effort? • What kind of handles and scaffolding can we provide to make it easier to create social interaction? 22
  • 23. Why
  • 25.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36. Plaxo’s 92% success story • specially-crafted email to Gmail users • Gmail users likely to have Google profile & address book • one-click sign up and address book import • also requests name, verified email address
  • 37. Plaxo’s 92% success story • Better for the user: higher success rate with no password anti- pattern • Better for the provider: Happy users and no automated data scraping • Better for the site: Higher conversion rate; more informed social graph
  • 38. + + Portable Contacts
  • 39.
  • 40. Photo by Teresa Stanton
  • 41. Unique OpenID Relying Parties As of July 1, 2009 50,000 40,000 30,000 20,000 10,000 0 5 06 06 06 6 07 07 07 7 08 08 08 8 09 09 /0 /0 /0 /0 1/ 4/ 7/ 1/ 4/ 7/ 1/ 4/ 7/ 1/ 7/ 10 10 10 Data from Janrain 10
  • 44. OpenID usage trends (Janrain) OpenID Providers on UserVoice 34% 33% 10% 15% 8% Google Facebook Yahoo! Other Twitter Data from Janrain, May 2010
  • 45. OpenID usage trends (Janrain) OpenID Providers on Interscope Records 8% 12% 12% 52% 6% 10% Google Facebook Yahoo! Other Twitter MySpace Data from Janrain, May 2010
  • 46. OpenID usage trends (Janrain) OpenID Providers on sulit.com.ph 10% 24% 1% 64% Google Facebook Yahoo! Other Chart from Janrain, January 2009
  • 47. OpenID usage trends (Janrain) Sign in preferences across all properties 23.5% Google 38.8% Facebook Yahoo! Other (MySpace, Windows Live, AOL, etc) 13.0% Twitter 5.8% 18.9% Data from Janrain, May 2010
  • 48. Gigya
  • 49. Third-party authentication usage trends (Gigya) Sign in preferences across all Gigya properties Source: Gigya, June 2010
  • 50. Third-party authentication usage trends (Gigya) Sign in preferences across entertainment sites Source: Gigya, June 2010
  • 51. Third-party authentication usage trends (Gigya) Sign in preferences across news sites Source: Gigya, June 2010
  • 52. Third-party authentication usage trends (Gigya) Sign in preferences across B2B sites Source: Gigya, June 2010
  • 53. Echo
  • 55. What does this tell us? 54
  • 56. What does this tell us? • People use different identities for different purposes 54
  • 57. What does this tell us? • People use different identities for different purposes • Ultimately choice and competition is a good thing to foster in this early landscape 54
  • 58. What does this tell us? • People use different identities for different purposes • Ultimately choice and competition is a good thing to foster in this early landscape • Digital identity is in its infancy; it’s too early to pick the winners 54
  • 59. What does this tell us? Basecamp Lady Gaga
  • 60.
  • 61. +
  • 62. Totals Janrain OAuth 32% OpenID 48%+ Gigya OAuth 62% OpenID 38% Echo OAuth 35% OpenID 64%
  • 66. How
  • 68.
  • 69.
  • 70.
  • 71.
  • 73. Photo by Vaguely Artistic
  • 74.
  • 75.
  • 76.
  • 77.
  • 78.
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85. XAuth
  • 86.
  • 87.
  • 88.
  • 89.
  • 90.
  • 93. The Hammer Stack Discovery for the open web
  • 94. How WebFinger works Enter email: Email Lookup
  • 95. How WebFinger works Enter email: chris.messina@gmail.com Lookup
  • 96. How WebFinger works Enter email: chris.messina@gmail.com Lookup
  • 97. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com
  • 98. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com { domain
  • 99. How WebFinger works Discovering a user’s WebFinger profile chris.messina@gmail.com { domain
  • 100. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  • 101. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  • 102. How WebFinger works Use host meta to retrieve an LRDD document $curl http://gmail.com/.well-known/host-meta
  • 103. How WebFinger works Server returns LRDD document <?xml version='1.0' encoding='UTF-8'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'      xmlns:hm='http://host-meta.net/xrd/1.0'>   <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>   <Link rel='lrdd'         template='http://www.google.com/s2/webfinger/?q={uri}'>     <Title>Resource Descriptor</Title>   </Link> </XRD>
  • 104. How WebFinger works Server returns LRDD document <?xml version='1.0' encoding='UTF-8'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'      xmlns:hm='http://host-meta.net/xrd/1.0'>   <hm:Host xmlns='http://host-meta.net/xrd/1.0'>gmail.com</hm:Host>   <Link rel='lrdd'         template='http://www.google.com/s2/webfinger/?q={uri}'>     <Title>Resource Descriptor</Title>   </Link> </XRD>
  • 105. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri}
  • 106. How WebFinger works Plugin acct: into URI Template chris.messina@gmail.com http://www.google.com/s2/webfinger/?q={uri}
  • 107. How WebFinger works Plugin acct: into URI Template acct:chris.messina@gmail.com http://www.google.com/s2/webfinger/?q={uri}
  • 108. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:chris.messina@gmail.com
  • 109. How WebFinger works Plugin acct: into URI Template http://www.google.com/s2/webfinger/?q={uri} acct:chris.messina@gmail.com
  • 110. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  • 111. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  • 112. How WebFinger works Retrieve WebFinger document $curl http://www.google.com/s2/webfinger/?q=acct:chris.messina@gmail.com
  • 113. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD>
  • 114. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD>
  • 115.
  • 116. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD>
  • 117. How WebFinger works XRD Profile <?xml version='1.0'?> <XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0'> <Subject>acct:chris.messina@gmail.com</Subject> <Alias>http://www.google.com/profiles/chris.messina</Alias> <Link rel='http://portablecontacts.net/spec/1.0' href='http://www-opensocial.googleusercontent.com/api/people/'/> <Link rel='http://webfinger.net/rel/profile-page' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://microformats.org/profile/hcard' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://gmpg.org/xfn/11' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='http://specs.openid.net/auth/2.0/provider' href='http://www.google.com/profiles/chris.messina'/> <Link rel='describedby' href='http://www.google.com/profiles/chris.messina' type='text/html'/> <Link rel='describedby' href='http://s2.googleusercontent.com/webfinger/?q=chris.messina%40gmail.com&amp;fmt=foaf' type='application/rdf+xml'/> <Link rel='http://schemas.google.com/g/2010#updates-from' href='http://buzz.googleapis.com/feeds/102034052532213921839/public/posted' type='application/atom+xml'/> </XRD>
  • 118. Putting it together Making OpenID easier using an email address Enter email: Email Connect Lookup
  • 119. Putting it together Making OpenID easier using an email address Enter email: Email Connect
  • 120. Putting it together Making OpenID easier using an email address Enter email: chris.messina@gmail.com Connect
  • 121. Putting it together Making OpenID easier using an email address Enter email: chris.messina@gmail.com Connect
  • 122.
  • 123. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 
  • 124. Putting it together Making OpenID easier using an email address Signed in as: Chris Messina 
  • 126. The anatomy of connect ...according to David Recordon 95 Source O’Reilly Radar.
  • 127. The anatomy of connect ...according to David Recordon • Profile (identity, accounts, profiles) 95 Source O’Reilly Radar.
  • 128. The anatomy of connect ...according to David Recordon • Profile (identity, accounts, profiles) • Relationships (followers, friends, contacts) 95 Source O’Reilly Radar.
  • 129. The anatomy of connect ...according to David Recordon • Profile (identity, accounts, profiles) • Relationships (followers, friends, contacts) • Content (posts, photos, videos, links) 95 Source O’Reilly Radar.
  • 130. The anatomy of connect ...according to David Recordon • Profile (identity, accounts, profiles) • Relationships (followers, friends, contacts) • Content (posts, photos, videos, links) • Activity (poked, bought, shared, blogged) 95 Source O’Reilly Radar.
  • 131. The anatomy of connect ...according to David Recordon • Profile (identity, accounts, profiles) • Relationships (followers, friends, contacts) • Content (posts, photos, videos, links) • Activity (poked, bought, shared, blogged) • Goal: Discovery of new people and content 95 Source O’Reilly Radar.
  • 133. Agenda • The Value • The Technology • The Future • Breakouts