Archive

The Dulin Report

Browsable archive from the WordPress export.

Results (30)

On Amazon Prime Video’s move to a monolith May 14, 2023 Stop Shakespearizing Sep 16, 2022 Should we abolish Section 230 ? Feb 1, 2021 Returning security back to the user Feb 2, 2019 Facebook vastly improved their advertiser vetting process Jan 21, 2019 A conservative version of Facebook? Aug 30, 2018 On Facebook and Twitter censorship Aug 20, 2018 I downloaded my Facebook data. Nothing there surprised me. Apr 14, 2018 Facebook is the new Microsoft Apr 14, 2018 Quick guide to Internet privacy for families Apr 7, 2018 Leaving Facebook and Twitter: here are the alternatives Mar 25, 2018 When politics and technology intersect Mar 24, 2018 Architecting API ecosystems: my interview with Anthony Brovchenko of R. Culturi Jun 5, 2017 Copyright in the 21st century or how "IT Gurus of Atlanta" plagiarized my and other's articles Mar 21, 2017 Windows 10: a confession from an iOS traitor Jan 4, 2017 Don't trust your cloud service until you've read the terms Sep 27, 2016 Amazon Alexa is eating the retailers alive Jun 22, 2016 Why it makes perfect sense for Dropbox to leave AWS May 7, 2016 OAuth 2.0: the protocol at the center of the universe Jan 1, 2016 We Live in a Mobile Device Notification Hell Aug 22, 2015 What Every College Computer Science Freshman Should Know Aug 14, 2015 On Maintaining Personal Brand as a Software Engineer Aug 2, 2015 Social Media Detox Jul 11, 2015 Attracting STEM Graduates to Traditional Enterprise IT Jul 4, 2015 The Clarkson School Class of 2015 Commencement speech May 5, 2015 Why I am not Getting an Apple Watch For Now: Or Ever Apr 26, 2015 Exploration of the Software Engineering as a Profession Apr 8, 2015 What can Evernote Teach Us About Enterprise App Architecture Apr 2, 2015 Microsoft and Apple Have Everything to Lose if Chromebooks Succeed Mar 31, 2015 On Managing Stress, Multitasking and Other New Year's Resolutions Jan 1, 2015

OAuth 2.0: the protocol at the center of the universe

January 1, 2016

I am writing this article on the iPad Mini using the Editorial app. This app is connected to my Dropbox account and automatically synchronizes my work. When I come home I can continue editing on my computer where this file will be waiting for me in my Dropbox folder.

When I take and share photos using Instagram, I am able to cross-post them to my Facebook and Tumblr accounts. IFTTT automatically updates my LinkedIn status when I post on Twitter. When I am reading news using Flipboard I can comment and share on Twitter. Adobe Lightroom CC that I use for my photography hobby allows me to upload and organize photos on Flickr. These interconnected cloud apps use each other’s APIs without knowing my passwords.

OAuth 2.0 is at the heart of all succesful and secure cloud API mash-ups:
The OAuth 2.0 authorization framework enables a third-party
application to obtain limited access to an HTTP service, either on
behalf of a resource owner by orchestrating an approval interaction
between the resource owner and the HTTP service, or by allowing the
third-party application to obtain access on its own behalf.

OAuth 2.0 defines a relationship between the authorization server, the resource server, the resource owner and the third-party application. Aaron Parecki does a great job explaining OAuth 2.0 flow.

You, as the resource owner, own your data stored on the resource server. A third-party app that you use requests authorization from you to access your data on your behalf. It directs you to the authorization server. The authorization server asks you for your credentials and consent to grant the app access to your data. The authorization servers redirects you back to the app. The app now has an authorization code it can use to get a token from the authorization server. Using that token the app can now operate on your data within the constraints you control. In this entire process you did not have to disclose your user name and password to the app.

I own the resources I stored in my Dropbox. I authorized Editorial to operate on my files in Dropbox. Editorial app itself is unaware of my Dropbox credentials. I can revoke its access to my files at any time through Dropbox settings.

As a resource owner you can manage which applications can access your data. Facebook has it under the Apps page in the Settings. Microsoft Office365 lets the domain administrator control what apps users can grant access to. The OAuth 2.0 specification leaves it up to the implementer to decide which third party apps can use the API.

Contrast this with how Mint connects to your bank account. They ask you to enter the credentials you use to access your bank into the app. Mint stores passwords on their servers and then uses them to authenticate into your bank on your behalf. Despite Intuit’s reassurances, this is a security breach waiting to happen. The reason for that is that each bank has proprietary API. A team of Mint engineers must come together to update integration scripts each time a bank updates their API:
When a financial institution updates their system, our engineers have to rewrite the script on our end to match so that we can continue supporting them. Typically, they are notified when this is going to happen and can get it updated pretty quickly. However, please open a ticket by filling out our Contact Mint form to make sure this is on their radar and they can get the script updated as soon as possible.

Standard API can become a revenue driver if done right. George Collins and David Sisk, write for Deloitte University Press:
Application programming interfaces (APIs) have been elevated from a development technique to a business model driver and boardroom consideration. An organization’s core assets can be reused, shared, and monetized through APIs that can extend the reach of existing services or provide new revenue streams. APIs should be managed like a product — one built on top of a potentially complex technical footprint that includes legacy and third-party systems and data.

Public APIs are becoming a crucial business asset. A strong API strategy depends on openness and standardization. A support for the OAuth 2.0 specification is the first step towards a successful and secure API model.




This article was originally published at my "Cloud Power" blog with Computerworld on Nov 24, 2015