Top Banner
Tuesday, September 3, 13
153

How to Stop Reinventing the Auth Wheel

Apr 16, 2017

Download

Technology

Rene Cacheaux
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 2: How to Stop Reinventing the Auth Wheel

An iOS Authentication Architecture for All

How to stop reinventing the auth wheel

Tuesday, September 3, 13

Page 3: How to Stop Reinventing the Auth Wheel

Great Apps

Tuesday, September 3, 13

Page 4: How to Stop Reinventing the Auth Wheel

What makes an app

truly great?

Tuesday, September 3, 13

Page 5: How to Stop Reinventing the Auth Wheel

AmazingFirst Impressions

Tuesday, September 3, 13

Page 6: How to Stop Reinventing the Auth Wheel

Reliableand

Secure

Tuesday, September 3, 13

Page 7: How to Stop Reinventing the Auth Wheel

Connected

Tuesday, September 3, 13

Page 8: How to Stop Reinventing the Auth Wheel

Personal

Tuesday, September 3, 13

Page 9: How to Stop Reinventing the Auth Wheel

WHAT’S THE BIG DEAL?

Tuesday, September 3, 13

Page 10: How to Stop Reinventing the Auth Wheel

Identity has a Roleto Play

Tuesday, September 3, 13

Page 11: How to Stop Reinventing the Auth Wheel

But, There’s A ProblemTuesday, September 3, 13

Page 12: How to Stop Reinventing the Auth Wheel

It’s ComplicatedTuesday, September 3, 13

Page 13: How to Stop Reinventing the Auth Wheel

So we end up like...

Tuesday, September 3, 13

Page 14: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 15: How to Stop Reinventing the Auth Wheel

Instead we should...

Tuesday, September 3, 13

Page 16: How to Stop Reinventing the Auth Wheel

SpendTime

Building Features

that ROCK

Tuesday, September 3, 13

Page 17: How to Stop Reinventing the Auth Wheel

The good news...

Tuesday, September 3, 13

Page 18: How to Stop Reinventing the Auth Wheel

PatternThere’s a

for That

Tuesday, September 3, 13

Page 19: How to Stop Reinventing the Auth Wheel

‘Simplicity is the ultimate sophistication.’

- Steve Jobs

Tuesday, September 3, 13

Page 20: How to Stop Reinventing the Auth Wheel

So, auth is complicated.

Tuesday, September 3, 13

Page 21: How to Stop Reinventing the Auth Wheel

Why?

Tuesday, September 3, 13

Page 22: How to Stop Reinventing the Auth Wheel

It’s not our core competency.

Tuesday, September 3, 13

Page 23: How to Stop Reinventing the Auth Wheel

Tons AND TONS of Detail.

Tuesday, September 3, 13

Page 24: How to Stop Reinventing the Auth Wheel

Never stops evolving.

Tuesday, September 3, 13

Page 25: How to Stop Reinventing the Auth Wheel

and so...

Tuesday, September 3, 13

Page 26: How to Stop Reinventing the Auth Wheel

we spend a lot of time

Tuesday, September 3, 13

Page 27: How to Stop Reinventing the Auth Wheel

and, we get frustrated.

Tuesday, September 3, 13

Page 28: How to Stop Reinventing the Auth Wheel

Not only is it complicated,

Tuesday, September 3, 13

Page 29: How to Stop Reinventing the Auth Wheel

it can lead to poor user experiences.

Tuesday, September 3, 13

Page 30: How to Stop Reinventing the Auth Wheel

like...

Tuesday, September 3, 13

Page 31: How to Stop Reinventing the Auth Wheel

The WallTuesday, September 3, 13

Page 32: How to Stop Reinventing the Auth Wheel

Account creationTuesday, September 3, 13

Page 33: How to Stop Reinventing the Auth Wheel

Error Message: Your Password Must Be at Least 18770 Characters and Cannot Repeat Any of Your Previous 30689 Passwords

PasswordsTuesday, September 3, 13

Page 34: How to Stop Reinventing the Auth Wheel

However,the big issue is...

Tuesday, September 3, 13

Page 35: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 36: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 37: How to Stop Reinventing the Auth Wheel

So what do we need?

Tuesday, September 3, 13

Page 38: How to Stop Reinventing the Auth Wheel

Tools, APIs, & Services

Tuesday, September 3, 13

Page 39: How to Stop Reinventing the Auth Wheel

That are...

Tuesday, September 3, 13

Page 40: How to Stop Reinventing the Auth Wheel

Easy & Secure

Tuesday, September 3, 13

Page 41: How to Stop Reinventing the Auth Wheel

Simple. Accessible.

Tuesday, September 3, 13

Page 42: How to Stop Reinventing the Auth Wheel

Rely on ExpertsTuesday, September 3, 13

Page 43: How to Stop Reinventing the Auth Wheel

Is there a painkiller?

Tuesday, September 3, 13

Page 44: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 45: How to Stop Reinventing the Auth Wheel

But first...

Tuesday, September 3, 13

Page 46: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 47: How to Stop Reinventing the Auth Wheel

Fav MOV

Tuesday, September 3, 13

Page 48: How to Stop Reinventing the Auth Wheel

Demo

Tuesday, September 3, 13

Page 49: How to Stop Reinventing the Auth Wheel

/RCacheaux/FAVMOV

Tuesday, September 3, 13

Page 50: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 51: How to Stop Reinventing the Auth Wheel

Ok. Let’s personalize.

Tuesday, September 3, 13

Page 52: How to Stop Reinventing the Auth Wheel

Need Username and Profile Photo

Tuesday, September 3, 13

Page 53: How to Stop Reinventing the Auth Wheel

To be or not to be custom is the question.

Tuesday, September 3, 13

Page 54: How to Stop Reinventing the Auth Wheel

Identity Provider

Tuesday, September 3, 13

Page 55: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 56: How to Stop Reinventing the Auth Wheel

Salt & Hash Passwords

Provide Two Factor Auth

Use Modern Irreversible Hash Function

Automatic Monitors

Operate Help Desk

Tuesday, September 3, 13

Page 57: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 58: How to Stop Reinventing the Auth Wheel

Choose WiselyTuesday, September 3, 13

Page 59: How to Stop Reinventing the Auth Wheel

Relying Party

Tuesday, September 3, 13

Page 60: How to Stop Reinventing the Auth Wheel

Ok. Enough Vocabulary

Tuesday, September 3, 13

Page 61: How to Stop Reinventing the Auth Wheel

1

2

3

4

Pick an Identity Provider

Register Client

Incorporate API

Code Against API

Using an Identity Provider

Tuesday, September 3, 13

Page 62: How to Stop Reinventing the Auth Wheel

Let’s pick an IDP...

Tuesday, September 3, 13

Page 63: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 64: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 65: How to Stop Reinventing the Auth Wheel

Authenticationvs

Authorization

Tuesday, September 3, 13

Page 66: How to Stop Reinventing the Auth Wheel

Scoping

Tuesday, September 3, 13

Page 67: How to Stop Reinventing the Auth Wheel

Demo

Tuesday, September 3, 13

Page 68: How to Stop Reinventing the Auth Wheel

‘That’s great, but what if my users don’t have

Facebook accounts.’

Tuesday, September 3, 13

Page 69: How to Stop Reinventing the Auth Wheel

Let’s pick another IDP...

Tuesday, September 3, 13

Page 70: How to Stop Reinventing the Auth Wheel

ARCHITECTURE

Tuesday, September 3, 13

Page 71: How to Stop Reinventing the Auth Wheel

Before, let’s walk through the code.

Tuesday, September 3, 13

Page 72: How to Stop Reinventing the Auth Wheel

Demo

Tuesday, September 3, 13

Page 73: How to Stop Reinventing the Auth Wheel

Now we can hold another IDP, which one?

Tuesday, September 3, 13

Page 74: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 75: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 76: How to Stop Reinventing the Auth Wheel

ARCHITECTURE

Tuesday, September 3, 13

Page 77: How to Stop Reinventing the Auth Wheel

Accounts Framework

Tuesday, September 3, 13

Page 78: How to Stop Reinventing the Auth Wheel

Recommended Identity Providers

Tuesday, September 3, 13

Page 79: How to Stop Reinventing the Auth Wheel

What if my identity provider does not have an iOS API?

Tuesday, September 3, 13

Page 80: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 81: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 82: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 83: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 84: How to Stop Reinventing the Auth Wheel

So you want a serverTuesday, September 3, 13

Page 85: How to Stop Reinventing the Auth Wheel

Backend as a Service

Tuesday, September 3, 13

Page 86: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 87: How to Stop Reinventing the Auth Wheel

Now, you need custom accounts.

Tuesday, September 3, 13

Page 88: How to Stop Reinventing the Auth Wheel

Sign In vs Sign Up

Tuesday, September 3, 13

Page 89: How to Stop Reinventing the Auth Wheel

What about custom back-ends?

Tuesday, September 3, 13

Page 90: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 91: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 92: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 93: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 94: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 95: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 96: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 97: How to Stop Reinventing the Auth Wheel

Get,Store, Use

Tuesday, September 3, 13

Page 98: How to Stop Reinventing the Auth Wheel

Getting Tokens

Tuesday, September 3, 13

Page 99: How to Stop Reinventing the Auth Wheel

Basic HTTP Authentication

Tuesday, September 3, 13

Page 100: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 101: How to Stop Reinventing the Auth Wheel

The Access TokenTuesday, September 3, 13

Page 102: How to Stop Reinventing the Auth Wheel

A word about OAuth 1

Tuesday, September 3, 13

Page 103: How to Stop Reinventing the Auth Wheel

OAUTH 1Tuesday, September 3, 13

Page 104: How to Stop Reinventing the Auth Wheel

Where to Store?

Tuesday, September 3, 13

Page 105: How to Stop Reinventing the Auth Wheel

The KeychainTuesday, September 3, 13

Page 106: How to Stop Reinventing the Auth Wheel

The Operating System

Tuesday, September 3, 13

Page 107: How to Stop Reinventing the Auth Wheel

Server-side

Tuesday, September 3, 13

Page 108: How to Stop Reinventing the Auth Wheel

Browser Cookies

Tuesday, September 3, 13

Page 109: How to Stop Reinventing the Auth Wheel

The FlowsTuesday, September 3, 13

Page 110: How to Stop Reinventing the Auth Wheel

App App App App

IDP App Browser

UIWebView

OS

Tuesday, September 3, 13

Page 111: How to Stop Reinventing the Auth Wheel

How to Use Tokens

Tuesday, September 3, 13

Page 112: How to Stop Reinventing the Auth Wheel

HTTP Authentication

Tuesday, September 3, 13

Page 113: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 114: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 115: How to Stop Reinventing the Auth Wheel

Sharable Tokens

Tuesday, September 3, 13

Page 116: How to Stop Reinventing the Auth Wheel

Across Apps

Tuesday, September 3, 13

Page 117: How to Stop Reinventing the Auth Wheel

Across DevicesTuesday, September 3, 13

Page 118: How to Stop Reinventing the Auth Wheel

Across Platforms

Tuesday, September 3, 13

Page 119: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 120: How to Stop Reinventing the Auth Wheel

1

2

3

Secrets & Tokens

Single Sign On

Two Factor Authentication

Tuesday, September 3, 13

Page 121: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 122: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 123: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 124: How to Stop Reinventing the Auth Wheel

The future

Tuesday, September 3, 13

Page 125: How to Stop Reinventing the Auth Wheel

biometrics

Tuesday, September 3, 13

Page 126: How to Stop Reinventing the Auth Wheel

ID

Tuesday, September 3, 13

Page 127: How to Stop Reinventing the Auth Wheel

More in accounts framework

Tuesday, September 3, 13

Page 128: How to Stop Reinventing the Auth Wheel

Less Custom Accounts

Tuesday, September 3, 13

Page 129: How to Stop Reinventing the Auth Wheel

Account Chooser

Tuesday, September 3, 13

Page 130: How to Stop Reinventing the Auth Wheel

cross Platform sign on

Tuesday, September 3, 13

Page 131: How to Stop Reinventing the Auth Wheel

WHAT’S THE BIG DEAL?

Tuesday, September 3, 13

Page 132: How to Stop Reinventing the Auth Wheel

Taking care of identity has many

benefits...

Tuesday, September 3, 13

Page 133: How to Stop Reinventing the Auth Wheel

Improve Lives

Tuesday, September 3, 13

Page 134: How to Stop Reinventing the Auth Wheel

More Usage

Tuesday, September 3, 13

Page 135: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 136: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 137: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 138: How to Stop Reinventing the Auth Wheel

Less of this

Tuesday, September 3, 13

Page 139: How to Stop Reinventing the Auth Wheel

And More of this

Tuesday, September 3, 13

Page 140: How to Stop Reinventing the Auth Wheel

remember

Tuesday, September 3, 13

Page 141: How to Stop Reinventing the Auth Wheel

delight your users

Tuesday, September 3, 13

Page 142: How to Stop Reinventing the Auth Wheel

Resources

Tuesday, September 3, 13

Page 143: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 144: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13

Page 147: How to Stop Reinventing the Auth Wheel

Google IO 2013

https://developers.google.com/live/shows/576883641Identity Tech Overview: Less Pain, More Gain

https://developers.google.com/live/shows/601975672

How to Offer Google+ Sign-In Alongside Other Social Sign-In Services

Tuesday, September 3, 13

Page 151: How to Stop Reinventing the Auth Wheel

/RCacheaux/FAVMOV

Tuesday, September 3, 13

Page 153: How to Stop Reinventing the Auth Wheel

Tuesday, September 3, 13