Why we stopped using Twitter Single sign-on

It made signing in really easy, so why did we move away from allowing users to use Twitter Single sign-on within Buffer for iPhone.

Andrew Yates
Buffer Posts
2 min readMar 30, 2014

--

We used to make use of the Twitter native authentication options available in iOS in our Buffer iPhone app. That was until last year when we had a security breach.

The Problem

Twitter SSO (Single sign-on) would allow us to login the user into the app, because we then needed the access token to allow Buffer to post out on their behalf even when the app wasn’t running we had to implement reverse authentication. This requires having Buffer’s OAuth details within the app bundle.

So when we encountered our security breach last year we quickly reset our Twitter application OAuth details meaning the details in the iPhone app were now invalid. Twitter authentication in the app via SSO wouldn’t work for anyone, not the greatest experience for newcomers or existing users alike.

We quickly made the changes needed to get Twitter authentication working again in the app and requested an expedited review to get the application live in the App Store with the correct OAuth details. Fortunately Apple was amazing and accepted our expedited review and everything was back to normal.

How we could avoid this in the future

We wanted to remove the possibility of this happening again in the future for whatever reason. So we spent a while trying to come up with ways to use SSO without the key & secret needing to be present.

Having exhausted possible solutions we have now removed SSO for Twitter, we tried a bunch of things to use reverse authentication elsewhere to get an access token to no avail.

We now make use of OAuth via our Buffer API. This allows us to change our keys/secrets whenever we need to without having to release new updates to the app, meaning we don’t have another occurence of Twitter authentication being completely broken.

We now use that same solution for the other networks in the upcoming iPhone update. The only difference being that for Facebook we use their iOS SDK and SSO options as we don’t have to include any keys/secrets. Using this solution for the other networks means each experience is the same for each, we don’t have a pick ‘n’ mix of authentication options.

We’d love to return to using SSO for Twitter, once we find a solution which allows us to keep everything secure and easy to update if we did have to reset any details we’ll get it back in the app. If you have any ideas we’d love to hear them!

If you want to help improve Buffer for iPhone and work on Buffer for iPad then why not join our small team!

--

--

Andrew Yates
Buffer Posts

iOS/Mac at @buffer. Hacking away on new features to keep your Buffer topped up. Also developed @ShutterSpots, @CouchQuiz, @MagicBeanApp & @TheRealGlobbert.