Ruby on Rails
OpenID

This article is part of the unfortunately confusing world of Authentication in Rails. If you manage to get a grip on things from this large collection of web pages (many of them sadly out of date), please contribute! (see WhatCanIDo)

What is OpenID?

OpenID is a decentralized URL based identity system. An OpenID is simply a URL, and all the OpenID specification does is describe a way to securely prove that the user owns that URL.

OpenID is useful for Rails programmers because:

  1. Provides a single sign on mechanism.
  2. Lets you focus on your application code instead of building the standard password infrastructure (hash, change, verify, recover). Authentication is handled by the user’s OpenID server, and you don’t have to know anything about it.
  3. Lowers the bar for user signup/login. Users who already have an OpenID won’t have to create another site-specific username and password.
  4. Enables cross-site reputation building. For example, you can assert that a user on site A is the same user on site B, and start building trust and/or relationships based on those assertions.

Where can my users get an OpenID?

Register with an OpenID identity provider, like MyOpenID.com or PiP

Libraries

General OpenID resources

Example code