SlideShare a Scribd company logo
1 of 76
Download to read offline
OAUTH
MICHAEL BLEIGH PRESENTS

THE PRESENT
FUTURE OF
OAUTH
 with drawings
PROLOGUE
MY NAME IS
MICHAEL
BLEIGH
I W O R K AT
INTRIDEA
ON TWITTER
@MBLEIGH
“HEY, WOULD ANYONE
   BE INTERESTED IN
 GIVING A TALK ABOUT
OAUTH AT RAILSCONF?”
“NO WAY, I MIGHT
FALL ASLEEP
WHILE SPEAKING”
“HMM...I’D BETTER
ADD SOME DRAWINGS.”
T H I S TA L K
IS ABOUT
OPEN WEB
STANDARDS
ACT I
IN WHICH THE
PROBLEM IS
DESCRIBED
IN THE
BEGINNING,
THERE WERE
 WEB APPS
WEB
APP
WEB
APP
WEB     WEB
APP A   APP B
“HEY, MY USERS WANT TO
  ACCESS YOUR STUFF.”


   WEB           WEB
  APP A         APP B
WEB     WEB
APP A   APP B
  +
 API
HTTP
BASIC
r d@ ...
                       swo
                r :p as
       p: //use
 h   tt
  Autho
dXNlc   rizatio
      jpwYX    n: Bas
            Nzd29    ic
                   yZA==
OK, HERE’S THE KEYS.



 WEB             WEB
APP A           APP B
  +
 API
WEB     WEB
APP A   APP B
  +
 API
WEB     WEB
APP A   APP B
  +
 API
FUBAR
FAILED USER BAR FOR
AUTHORIZATION ROBUSTNESS

        *COUGH*
THIS IS
A PROBLEM
ACT 2
IN WHICH A
N E W W AY
IS CREATED
CHRIS MESSINA
  BLAINE COOK
  LARRY HALFF
DAVID RECORDON
“HEY, WOULDN’T IT BE
G R E AT T O H AV E A N
OPEN AUTHORIZATION
       STANDARD”
“TOTALLY, LET’S
MAKE ONE AND
CALL IT OAUTH.”
FOOTAGE
MISSING
WEB     WEB
APP A   APP B
WEB     WEB
APP A   APP B
“HEY, MY USER WANTS TO
    ACCESS YOUR STUFF.”


 WEB                   WEB
APP A                 APP B
WEB     WEB
APP A   APP B
WEB     WEB
APP A   APP B
“WHAT’S YOUR
         PASSWORD?”

        “PASSWORD”
 WEB                    WEB
APP A                  APP B
WEB     WEB
APP A   APP B
WEB     WEB
APP A   APP B
ADVAN
TAGES
1. SECURE
2. RESTRICTABLE
         “DELETE ALL
          USER DATA”

         “UMMM....NO”
  WEB                    WEB
 APP A                  APP B
3. REVOCABLE
            K *
     O IN
  * Y         WEB
             APP B
3. STANDARD
 WEB             WEB             WEB
APP A           APP C           APP D


         WEB            WEB
        APP E           APP F
NOT QUITE
 PERFECT
1. COMPLICATED
    “OK, SO IT’S FIST BUMP,
     DOUBLE-HIGH FIVE...”


  WEB                     WEB
 APP A
         “NO NO, FIRST   APP B
         YOU REVERSE
          LOW FIVE...”
2. BROWSER-
DEPENDENT
?
2. BROWSER-
DEPENDENT
WE CAN
DO BETTER
ACT 3
IN WHICH WE
LEARN FROM
OUR MISTAKES
OAUTH
 2.0
IMPROVE
MENTS
1. SIMPLER

 WEB
APP A
        < SSL >    WEB
                  APP B
2. FLOWS
WEB SERVER

 WEB       WEB
APP A     APP B
USER-AGENT

 WEB
APP A
DEVICE

 WEB
APP A
                 SET-­TOPPER
PASSWORD

 WEB
APP A
PASSWORD

 WEB
APP A
PASSWORD

 WEB
APP A
PASSWORD

 WEB
APP A
PASSWORD

 WEB
APP A
CLIENT
CREDENTIALS
 WEB       WEB
APP A     APP B
ASSERTION
        CERTIFICATE OF
        AUTHENTICITY




 WEB                      WEB
APP A                    APP B
FLEX-
IBILITY
ACT 4
IN WHICH WE
GET DOWN TO
BUSINESS
WHO’S DOING IT
 RIGHT NOW?
WHO WILL BE
DOING IT SOON?
WHO WILL BE
DOING IT SOON?


 YOU
CONSUMING
OAU T H 2 . 0
# in Gemfile
gem 'oauth2'

$ rails g controller oauth

# in routes.rb
resource :oauth, :controller => 'oauth' do
  get :start
  get :callback
end
class OauthController < ApplicationController
  def start
    redirect_to client.web_server.authorize_url(
      :redirect_uri => callback_oauth_url(:format => 'json'),
      :scope => 'user'
    )
  end

  def callback
    access_token = client.web_server.get_access_token(
      params[:code], :redirect_uri => callback_oauth_url(:format => 'json')
    )

    # you should store the access token info now.
    render :json => access_token.get('/api/v2/json/user/show')
  end

  protected

  def client
    @client ||= OAuth2::Client.new(
      '296e901b0e6ab74db167', '625fe65c7f74ee4a015d121efb011a45776d510d',
      :site => 'https://github.com',
      :authorize_path => '/login/oauth/authorize',
      :access_token_path => '/login/oauth/access_token'
    )
  end
end
PROVIDING
OAUTH 2.0
READ THE
SPEC
http://bit.ly/oauth2-spec
NO SERIOUSLY,
READ THE
SPEC
http://bit.ly/oauth2-spec

More Related Content

What's hot

Better than Google.
Better than Google.Better than Google.
Better than Google.Laise3
 
Better than google
Better than googleBetter than google
Better than googlevitalhst
 
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...Jorge Ferreiro
 
Riann salandanan howtouse_canva
Riann salandanan howtouse_canvaRiann salandanan howtouse_canva
Riann salandanan howtouse_canvaRiann Salandanan
 
That's crazy! how to build single page web apps
That's crazy! how to build single page web appsThat's crazy! how to build single page web apps
That's crazy! how to build single page web appsChris Love
 
Webhooks - Creating a Programmable Internet
Webhooks - Creating a Programmable InternetWebhooks - Creating a Programmable Internet
Webhooks - Creating a Programmable Internetryan teixeira
 
Riann salandanan howtouse_ifttt
Riann salandanan howtouse_iftttRiann salandanan howtouse_ifttt
Riann salandanan howtouse_iftttRiann Salandanan
 
Riann salandanan howtouse_dropbox
Riann salandanan howtouse_dropboxRiann salandanan howtouse_dropbox
Riann salandanan howtouse_dropboxRiann Salandanan
 
RabbitMQ 101 : How to cook the rabbit? - phptour 2016
RabbitMQ 101 : How to cook the rabbit? - phptour 2016RabbitMQ 101 : How to cook the rabbit? - phptour 2016
RabbitMQ 101 : How to cook the rabbit? - phptour 2016Quentin Adam
 
It automation & devops - devopsdays istambul 2016
It automation & devops -  devopsdays istambul 2016It automation & devops -  devopsdays istambul 2016
It automation & devops - devopsdays istambul 2016Quentin Adam
 
PHP deployment, 2016 flavor - cakefest 2016
PHP deployment, 2016 flavor - cakefest 2016PHP deployment, 2016 flavor - cakefest 2016
PHP deployment, 2016 flavor - cakefest 2016Quentin Adam
 
Riann salandanan howtouse_evernote -
Riann salandanan howtouse_evernote -Riann salandanan howtouse_evernote -
Riann salandanan howtouse_evernote -Riann Salandanan
 
HTML (or how the web got started)
HTML (or how the web got started)HTML (or how the web got started)
HTML (or how the web got started)Jean-Georges Perrin
 
Autopilotnew money money $$
Autopilotnew money money $$Autopilotnew money money $$
Autopilotnew money money $$KamilBejm1
 
Riann salandanan howtouse_asana
Riann salandanan howtouse_asanaRiann salandanan howtouse_asana
Riann salandanan howtouse_asanaRiann Salandanan
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rockChris Love
 
Pressbooks: WordCamp Minneapolis 2013
Pressbooks: WordCamp Minneapolis 2013Pressbooks: WordCamp Minneapolis 2013
Pressbooks: WordCamp Minneapolis 2013Nick Ciske
 

What's hot (20)

Better than Google.
Better than Google.Better than Google.
Better than Google.
 
Better than google
Better than googleBetter than google
Better than google
 
BETTER THAN GOOGLE.
BETTER THAN GOOGLE.BETTER THAN GOOGLE.
BETTER THAN GOOGLE.
 
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
Codemotion Progressive Web Applications Pwa Webinar - Jorge Ferreiro - @jgfer...
 
Riann salandanan howtouse_canva
Riann salandanan howtouse_canvaRiann salandanan howtouse_canva
Riann salandanan howtouse_canva
 
That's crazy! how to build single page web apps
That's crazy! how to build single page web appsThat's crazy! how to build single page web apps
That's crazy! how to build single page web apps
 
Webhooks - Creating a Programmable Internet
Webhooks - Creating a Programmable InternetWebhooks - Creating a Programmable Internet
Webhooks - Creating a Programmable Internet
 
Riann salandanan howtouse_ifttt
Riann salandanan howtouse_iftttRiann salandanan howtouse_ifttt
Riann salandanan howtouse_ifttt
 
Riann salandanan howtouse_dropbox
Riann salandanan howtouse_dropboxRiann salandanan howtouse_dropbox
Riann salandanan howtouse_dropbox
 
RabbitMQ 101 : How to cook the rabbit? - phptour 2016
RabbitMQ 101 : How to cook the rabbit? - phptour 2016RabbitMQ 101 : How to cook the rabbit? - phptour 2016
RabbitMQ 101 : How to cook the rabbit? - phptour 2016
 
It automation & devops - devopsdays istambul 2016
It automation & devops -  devopsdays istambul 2016It automation & devops -  devopsdays istambul 2016
It automation & devops - devopsdays istambul 2016
 
PHP deployment, 2016 flavor - cakefest 2016
PHP deployment, 2016 flavor - cakefest 2016PHP deployment, 2016 flavor - cakefest 2016
PHP deployment, 2016 flavor - cakefest 2016
 
Riann salandanan howtouse_evernote -
Riann salandanan howtouse_evernote -Riann salandanan howtouse_evernote -
Riann salandanan howtouse_evernote -
 
HTML (or how the web got started)
HTML (or how the web got started)HTML (or how the web got started)
HTML (or how the web got started)
 
Api pain points
Api pain pointsApi pain points
Api pain points
 
Autopilot
AutopilotAutopilot
Autopilot
 
Autopilotnew money money $$
Autopilotnew money money $$Autopilotnew money money $$
Autopilotnew money money $$
 
Riann salandanan howtouse_asana
Riann salandanan howtouse_asanaRiann salandanan howtouse_asana
Riann salandanan howtouse_asana
 
Make mobile web apps rock
Make mobile web apps rockMake mobile web apps rock
Make mobile web apps rock
 
Pressbooks: WordCamp Minneapolis 2013
Pressbooks: WordCamp Minneapolis 2013Pressbooks: WordCamp Minneapolis 2013
Pressbooks: WordCamp Minneapolis 2013
 

Viewers also liked

OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authenticationleahculver
 
Java security in the real world (Ryan Sciampacone)
Java security in the real world (Ryan Sciampacone)Java security in the real world (Ryan Sciampacone)
Java security in the real world (Ryan Sciampacone)Chris Bailey
 
Java Security Manager Reloaded - Devoxx 2014
Java Security Manager Reloaded - Devoxx 2014Java Security Manager Reloaded - Devoxx 2014
Java Security Manager Reloaded - Devoxx 2014Josef Cacek
 
Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsCarol McDonald
 
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Martin Toshev
 
Spring Security
Spring SecuritySpring Security
Spring SecurityBoy Tech
 
Security via Java
Security via JavaSecurity via Java
Security via JavaBahaa Zaid
 
NEPHP '12: Create a RESTful API
NEPHP '12: Create a RESTful APINEPHP '12: Create a RESTful API
NEPHP '12: Create a RESTful APIAndrew Curioso
 
OAuth In The Real World : 10 actual implementations you can't guess
OAuth In The Real World : 10 actual implementations you can't guessOAuth In The Real World : 10 actual implementations you can't guess
OAuth In The Real World : 10 actual implementations you can't guessMehdi Medjaoui
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back Steven Cooper
 
Deep dive into Java security architecture
Deep dive into Java security architectureDeep dive into Java security architecture
Deep dive into Java security architecturePrabath Siriwardena
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync ExplainedMohan Krishnan
 
Angular meteor for angular devs
Angular meteor for angular devsAngular meteor for angular devs
Angular meteor for angular devsArc & Codementor
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business ToolkitVan Staub, MBA
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationVan Staub, MBA
 
OAuth for your API - The Big Picture
OAuth for your API - The Big PictureOAuth for your API - The Big Picture
OAuth for your API - The Big PictureApigee | Google Cloud
 
VMUG - Using PowerShell to call RESTful APIs
VMUG - Using PowerShell to call RESTful APIsVMUG - Using PowerShell to call RESTful APIs
VMUG - Using PowerShell to call RESTful APIsChris Wahl
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016Restlet
 

Viewers also liked (20)

OAuth - Open API Authentication
OAuth - Open API AuthenticationOAuth - Open API Authentication
OAuth - Open API Authentication
 
Java security in the real world (Ryan Sciampacone)
Java security in the real world (Ryan Sciampacone)Java security in the real world (Ryan Sciampacone)
Java security in the real world (Ryan Sciampacone)
 
Java Security Manager Reloaded - Devoxx 2014
Java Security Manager Reloaded - Devoxx 2014Java Security Manager Reloaded - Devoxx 2014
Java Security Manager Reloaded - Devoxx 2014
 
Rest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.jsRest with Java EE 6 , Security , Backbone.js
Rest with Java EE 6 , Security , Backbone.js
 
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
Security Architecture of the Java Platform (BG OUG, Plovdiv, 13.06.2015)
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
Spring Security 3
Spring Security 3Spring Security 3
Spring Security 3
 
Security via Java
Security via JavaSecurity via Java
Security via Java
 
Spring Security
Spring SecuritySpring Security
Spring Security
 
NEPHP '12: Create a RESTful API
NEPHP '12: Create a RESTful APINEPHP '12: Create a RESTful API
NEPHP '12: Create a RESTful API
 
OAuth In The Real World : 10 actual implementations you can't guess
OAuth In The Real World : 10 actual implementations you can't guessOAuth In The Real World : 10 actual implementations you can't guess
OAuth In The Real World : 10 actual implementations you can't guess
 
MongoDB - The database strikes back
MongoDB - The database strikes back MongoDB - The database strikes back
MongoDB - The database strikes back
 
Deep dive into Java security architecture
Deep dive into Java security architectureDeep dive into Java security architecture
Deep dive into Java security architecture
 
Tomboy Web Sync Explained
Tomboy Web Sync ExplainedTomboy Web Sync Explained
Tomboy Web Sync Explained
 
Angular meteor for angular devs
Angular meteor for angular devsAngular meteor for angular devs
Angular meteor for angular devs
 
IBM Social Business Toolkit
IBM Social Business ToolkitIBM Social Business Toolkit
IBM Social Business Toolkit
 
IBM Digital Experience Theme Customization
IBM Digital Experience Theme CustomizationIBM Digital Experience Theme Customization
IBM Digital Experience Theme Customization
 
OAuth for your API - The Big Picture
OAuth for your API - The Big PictureOAuth for your API - The Big Picture
OAuth for your API - The Big Picture
 
VMUG - Using PowerShell to call RESTful APIs
VMUG - Using PowerShell to call RESTful APIsVMUG - Using PowerShell to call RESTful APIs
VMUG - Using PowerShell to call RESTful APIs
 
The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016The never-ending REST API design debate -- Devoxx France 2016
The never-ending REST API design debate -- Devoxx France 2016
 

Similar to The Present Future of OAuth

Autoscaling, Chef and New Relic
Autoscaling, Chef and New RelicAutoscaling, Chef and New Relic
Autoscaling, Chef and New RelicFernando Honig
 
Socket applications
Socket applicationsSocket applications
Socket applicationsJoão Moura
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberKMS Technology
 
So you want to build a facebook App ?
So you want to build a facebook App ?So you want to build a facebook App ?
So you want to build a facebook App ?Nguyễn Duy Nhân
 
Responsive Design for Digital VU Month 2011
Responsive Design for Digital VU Month 2011Responsive Design for Digital VU Month 2011
Responsive Design for Digital VU Month 2011Ryan Huber
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Future Insights
 
DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)dpc
 
The dark side of the app - Todi Appy Days 2015
The dark side of the app - Todi Appy Days 2015The dark side of the app - Todi Appy Days 2015
The dark side of the app - Todi Appy Days 2015Todi Appy Days
 
The dark side of the app
The dark side of the appThe dark side of the app
The dark side of the appSimone Di Maulo
 
Fronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid PrototypingFronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid PrototypingStephen Hay
 
Control USB Device from Rails App. by using WebSocket
Control USB Device from Rails App. by using WebSocketControl USB Device from Rails App. by using WebSocket
Control USB Device from Rails App. by using WebSocketKatsuyuki Koga
 
How to build Client Side Applications with WordPress and WP-API | #wcmia
How to build Client Side Applications with WordPress and WP-API | #wcmiaHow to build Client Side Applications with WordPress and WP-API | #wcmia
How to build Client Side Applications with WordPress and WP-API | #wcmiaRoy Sivan
 
Learn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfLearn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfBe Problem Solver
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)True-Vision
 
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web AppBring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web AppThe Software House
 
AppForum 2014 Boost Hybrid App Performance
AppForum 2014 Boost Hybrid App PerformanceAppForum 2014 Boost Hybrid App Performance
AppForum 2014 Boost Hybrid App Performancerobgalvinjr
 
Mesos at OpenTable
Mesos at OpenTableMesos at OpenTable
Mesos at OpenTablesamsalisbury
 
Droidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDKDroidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDKPayPal
 
Web project details
Web project detailsWeb project details
Web project detailsSubrat Dash
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016Robert Nyman
 

Similar to The Present Future of OAuth (20)

Autoscaling, Chef and New Relic
Autoscaling, Chef and New RelicAutoscaling, Chef and New Relic
Autoscaling, Chef and New Relic
 
Socket applications
Socket applicationsSocket applications
Socket applications
 
Behavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using CucumberBehavior Driven Development and Automation Testing Using Cucumber
Behavior Driven Development and Automation Testing Using Cucumber
 
So you want to build a facebook App ?
So you want to build a facebook App ?So you want to build a facebook App ?
So you want to build a facebook App ?
 
Responsive Design for Digital VU Month 2011
Responsive Design for Digital VU Month 2011Responsive Design for Digital VU Month 2011
Responsive Design for Digital VU Month 2011
 
Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)Optimizing for Change (Henrik Joreteg)
Optimizing for Change (Henrik Joreteg)
 
DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)DPC 2007 My First Mashup (Cal Evans)
DPC 2007 My First Mashup (Cal Evans)
 
The dark side of the app - Todi Appy Days 2015
The dark side of the app - Todi Appy Days 2015The dark side of the app - Todi Appy Days 2015
The dark side of the app - Todi Appy Days 2015
 
The dark side of the app
The dark side of the appThe dark side of the app
The dark side of the app
 
Fronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid PrototypingFronteers Workshop: Rabid Prototyping
Fronteers Workshop: Rabid Prototyping
 
Control USB Device from Rails App. by using WebSocket
Control USB Device from Rails App. by using WebSocketControl USB Device from Rails App. by using WebSocket
Control USB Device from Rails App. by using WebSocket
 
How to build Client Side Applications with WordPress and WP-API | #wcmia
How to build Client Side Applications with WordPress and WP-API | #wcmiaHow to build Client Side Applications with WordPress and WP-API | #wcmia
How to build Client Side Applications with WordPress and WP-API | #wcmia
 
Learn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdfLearn how to use API with 2 API examples.pdf
Learn how to use API with 2 API examples.pdf
 
Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)Rails Presentation (Anton Dmitriyev)
Rails Presentation (Anton Dmitriyev)
 
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web AppBring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
Bring Your Web App to the Next Level. Wprowadzenie do Progressive Web App
 
AppForum 2014 Boost Hybrid App Performance
AppForum 2014 Boost Hybrid App PerformanceAppForum 2014 Boost Hybrid App Performance
AppForum 2014 Boost Hybrid App Performance
 
Mesos at OpenTable
Mesos at OpenTableMesos at OpenTable
Mesos at OpenTable
 
Droidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDKDroidcon Paris: The new Android SDK
Droidcon Paris: The new Android SDK
 
Web project details
Web project detailsWeb project details
Web project details
 
The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016The Future of the Web - Cold Front conference 2016
The Future of the Web - Cold Front conference 2016
 

More from Michael Bleigh

OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)Michael Bleigh
 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground UpMichael Bleigh
 
The Grapes of Rapid (RubyConf 2010)
The Grapes of Rapid (RubyConf 2010)The Grapes of Rapid (RubyConf 2010)
The Grapes of Rapid (RubyConf 2010)Michael Bleigh
 
Deciphering the Interoperable Web
Deciphering the Interoperable WebDeciphering the Interoperable Web
Deciphering the Interoperable WebMichael Bleigh
 
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)Michael Bleigh
 
Hacking the Mid-End (Great Lakes Ruby Bash Edition)
Hacking the Mid-End (Great Lakes Ruby Bash Edition)Hacking the Mid-End (Great Lakes Ruby Bash Edition)
Hacking the Mid-End (Great Lakes Ruby Bash Edition)Michael Bleigh
 

More from Michael Bleigh (10)

OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)OmniAuth: From the Ground Up (RailsConf 2011)
OmniAuth: From the Ground Up (RailsConf 2011)
 
OmniAuth: From the Ground Up
OmniAuth: From the Ground UpOmniAuth: From the Ground Up
OmniAuth: From the Ground Up
 
The Grapes of Rapid (RubyConf 2010)
The Grapes of Rapid (RubyConf 2010)The Grapes of Rapid (RubyConf 2010)
The Grapes of Rapid (RubyConf 2010)
 
Upgrading to Rails 3
Upgrading to Rails 3Upgrading to Rails 3
Upgrading to Rails 3
 
Deciphering the Interoperable Web
Deciphering the Interoperable WebDeciphering the Interoperable Web
Deciphering the Interoperable Web
 
Node.js and Ruby
Node.js and RubyNode.js and Ruby
Node.js and Ruby
 
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)Persistence  Smoothie: Blending SQL and NoSQL (RubyNation Edition)
Persistence Smoothie: Blending SQL and NoSQL (RubyNation Edition)
 
Persistence Smoothie
Persistence SmoothiePersistence Smoothie
Persistence Smoothie
 
Twitter on Rails
Twitter on RailsTwitter on Rails
Twitter on Rails
 
Hacking the Mid-End (Great Lakes Ruby Bash Edition)
Hacking the Mid-End (Great Lakes Ruby Bash Edition)Hacking the Mid-End (Great Lakes Ruby Bash Edition)
Hacking the Mid-End (Great Lakes Ruby Bash Edition)
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
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
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
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
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
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
 
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
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 

The Present Future of OAuth