Pros and Cons of OpenID Authentication
Posted on May 11th, 2010 in Development, Social Media | No Comments »
… and Why we decided not to use OpenID for now
According to Wikipedia, “OpenID is an open, decentralized standard for authenticating users which can be used for access control, allowing users to log on to different services with the same digital identity where these services trust the authentication body.”
This technology has caught on in the past couple years with web applications as an alternative to creating application-specific login accounts and passwords. Some of the popular websites to offer similar OpenID implementations include MySpace, Google, Yahoo, and Twitter.
When designing the YOUffiliate login/authentication system, we toyed with the idea of implementing OpenID support, thus allowing our members to login with their Twitter, Facebook, etc. accounts. (In fact, our first implementation required Twitter logins, and our second implementation allowed optional use of Twitter logins). However, for a few reasons I will mention below, we finally decided against this OpenID login system for now, and developed our own login system. For now, this gives us the flexibility we need and better fits our overall business model. The following outlines some of our concerns and important considerations for and against using an OpenID system:
Pros for using an OpenID authentication system with YOUffiliate:
- Users are more likely to sign in to try an application when they can simply use an existing (Twitter, Facebook, etc.) account. They don’t need to sign up for another service and keep track of another password. (Speculation, only!)
- Once logged in (let’s say they are logged in via Twitter’s Oauth already), the YOUffiliate platform can already have access to the user’s Twitter API for posting Tweets. This eliminates an extra step of the user authenticating Twitter again. Same goes for other social applications.
- Logging in via an OpenID will potentially give us access to some of the user’s publicly available information – such as public Twitter profile, number of followers, Facebook public profile information, etc.
Cons for using an OpenID authentication system (Pros for using our own!):
- Reduces the complexity of allowing many different auth systems. We only need to keep track of 1 account for authentication – our own.
- OpenID’s rely on that third party being available. Even though these are big sites (Yahoo, Google, Twitter), they all experience unexpected down-time now and then. Being tied to a third party site for authentication is somewhat a liability in this sense.
- A more likely situation where being tied to a 3rd party would be a problem is if we ever decided to stop working with a certain 3rd party. Let’s say down the road we decide that we no longer want to integrate with Twitter. What happens now to all the users that are using Twitter Oauth to sign in to their YOUffiliate account?
- OpenID security weaknesses. Some people just get straight up confused when presented with a OpenID sign in box. Others are wary and think something fishy is going on when they are prompted for their Google password to access a 3rd party site. Read more about OpenID’s security vulnerabilities with regard to phishing and TLS.
- Control over accounts. Using our own authentication system, we have full control over users, usernames, passwords, change of passwords, etc. Some may argue that this is a pro of using OpenID.
- Multiple users using one login. This was a pretty strong reason for us to implement our own authentication system. Our advertisers and affiliates are not always individuals. In many cases there are teams of people who need access to a single YOUffiliate account.Here’s an example: Lets say ABC Shoes is a YOUffiliate advertiser. Joe and Jane work together as administrators for ABC Shoe Company’s YOUffiliate advertiser account. When Joe signed up, he was prompted for his Google account and password, so not knowing any better, he signed up with joe@gmail.com. Now, when Jane wants to access ABC Shoe Company’s YOUffiliate account, she asks Joe for the login. Joe shudders – he either has to tell Jane his personal account info, or sign up for a new account.
Of course, every situation is different, and in fact, there are many cases where OpenID is a perfect solution to use. If security is extremely important for you (I haven’t yet seen a bank that supports OpenID), you may want to think twice before using OpenID. If you want an authentication system for your blog/personal website, OpenID is great! The important thing is to do your own research, analyze your own business model, and determine for yourself whether OpenID is the best choice for you.