securing api data models

16
Building on the Ashes of Past Standards Securing API Data Models Jonathan LeBlanc Head of Developer Evangelism (North America) Github: http://github.com/jcleblanc Slides: http://slideshare.net/jcleblanc Twitter: @jcleblanc

Upload: jonathan-leblanc

Post on 28-Jan-2015

108 views

Category:

Technology


1 download

DESCRIPTION

Security and Usability, two methodologies that have fought each other since the there was a login. As we have have progressed from a simple thought that even though something is painful developers will use it if it's secure, to an enlightened stage of good security and usability balance and judgement, we have seen the death of many specs and standards. Two open standards are leading the charge for this new auth age: OAuth 2 and OpenID Connect. In this talk we will explore the principles and standards behind API auth security, which will include: Using OAuth 2 and OpenID Connect as the entry point for secure API data auth - How those implementations have cannibalized previous standards to create something both secure and usable - How to practically use these standards.

TRANSCRIPT

Page 1: Securing API data models

Building on the Ashes of Past Standards

Securing API Data Models

Jonathan LeBlancHead of Developer Evangelism (North

America)Github: http://github.com/jcleblanc

Slides: http://slideshare.net/jcleblancTwitter: @jcleblanc

Page 2: Securing API data models

The Ultimate Decision

Security Usability

Page 3: Securing API data models

The Path

to th

e Sta

ndard

Page 4: Securing API data models

The Insecure, Unmanageable Start

Page 5: Securing API data models

Very Secure, Long to Implement

Page 6: Securing API data models

Two Currently Widely Used Specs

Page 7: Securing API data models

Auth in

Pra

ctice

Page 8: Securing API data models

Fetching a Code

Prepare the Redirect URIAuthorization Endpointclient_id response_type (code)scope redirect_urinonce state

Browser RedirectRedirect URI

Page 9: Securing API data models

Fetching the Access Token

Fetch the Access TokenAccess Token Endpointclient_id code (query string)client_secret grant_type

HTTP POSTAccess Token Endpoint

Page 10: Securing API data models

A few implementation differences

Endpoints

Scopes (dynamic / static)

Using the Access Token in a request

Page 11: Securing API data models

Using th

e Ske

leto

n Key

Page 12: Securing API data models

How it’s Normally Used

Access user details

Push data throughuser social streams

Page 13: Securing API data models

But why?

Access token as a control structure

Improve Existing Products

Our showcase: Seamless Checkout

Page 14: Securing API data models

A Few Code Links

OAuth2 & OpenID Connect Sampleshttps://github.com/jcleblanc/oauthhttps://github.com/paypal/paypal-access

Log in with PayPalhttp://bit.ly/loginwithpaypal

Page 15: Securing API data models
Page 16: Securing API data models

http://bit.ly/securing_apis

Thank You! Questions?

Jonathan LeBlancHead of Developer Evangelism (North

America)Github: http://github.com/jcleblanc

Slides: http://slideshare.net/jcleblancTwitter: @jcleblanc