All Projects → airbnb → apple-tv-auth

airbnb / apple-tv-auth

Licence: other
Example application to demonstrate how to build Apple TV style authentication.

Programming Languages

ruby
36898 projects - #4 most used programming language
HTML
75241 projects

Update: On March 3, 2020 Airbnb sunset the Airbnb Apple TV app.

Apple TV Authentication Example

This is an example authentication server for an Apple TV or other device that doesn't lend itself to password entry. Check out https://medium.com/airbnb-engineering/apple-tv-authentication-a156937ea211#.yyj7id33m for details about the workflow implemented here.

Much of the basic Sinatra/Warden implementation is based on Steve Klise's excellent example: https://github.com/sklise/sinatra-warden-example. The most interesting things to look at are auth_token.rb and the :nonce Warden strategy in app.rb.

Demo Instructions

  1. Make sure you have Redis running locally: brew install redis; redis-server
  2. Install gems: bundle install
  3. Start the app: rackup
  4. Navigate to localhost:9292.
  5. You'll see the short code displayed as you would on an Apple TV.
  6. In another browser or private window open localhost:9292/authorize.
  7. Login as admin/admin.
  8. Enter the short code in the authorization box and submit it.
  9. Return to your first window and see that it has been successfully logged in.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].