<p>What is current state of the art for enabling OpenID login in Ruby on Rails applications?  This is a community wiki with up-to-date answers to this question.</p>
<h2>Authlogic</h2>
<p>The most advanced authentication solution seems to be <a href="http://github.com/binarylogic/authlogic" rel="noreferrer">Authlogic</a>.  It supports OpenID with <a href="http://github.com/binarylogic/authlogic_openid" rel="noreferrer">Authlogic OpenID plugin</a>.  It supports Rails 4 and 3. Rails 2 is supported in the rails2 branch.</p>
<p>You may want to watch <a href="http://railscasts.com/episodes/170-openid-with-authlogic" rel="noreferrer">&quot;OpenID with Authlogic&quot; railscast</a> (and the <a href="http://railscasts.com/episodes/160-authlogic" rel="noreferrer">&quot;Authlogic&quot; railscast</a>).</p>
<p>There is a sample application called <a href="http://github.com/shripadk/authlogic_openid_selector_example" rel="noreferrer">Authlogic OpenID Selector Example</a>.</p>
<h2>Devise</h2>
<p>Devise is flexible authentication framework for Rails.  It supports OpenID with <a href="https://github.com/nbudin/devise_openid_authenticatable" rel="noreferrer"><code>devise_openid_authenticatable</code></a>.</p>
<h2>restful_authentication</h2>
<p>Another authentication library of choice is <a href="http://github.com/technoweenie/restful-authentication" rel="noreferrer"><code>restful_authentication</code></a> Rails plugin.  Seems like you also need to install <a href="http://github.com/rails/open_id_authentication" rel="noreferrer"><code>open_id_authentication</code></a> plugin.</p>
<p>You may want to watch (old, circa 2007) <a href="http://railscasts.com/episodes/68-openid-authentication" rel="noreferrer">&quot;OpenID Authentication&quot; railscast</a>.</p>
<h2>Ruby OpenID</h2>
<p>Raw support for OpenID protocol is handled by <a href="http://github.com/openid/ruby-openid" rel="noreferrer">Ruby OpenID</a> library.</p>

[{'answer_id': 66978, 'author': 'Jay Shepherd', 'author_id': 7511, 'author_profile': 'https://Stackoverflow.com/users/7511', 'pm_score': 2, 'selected': False, 'text': '<p>Check out this <a href="http://railscasts.com/episodes/68-openid-authentication" rel="nofollow noreferrer">Railscast on OpenId</a> for more info.  I\'m not sure if/how it might work alongside restful_authentication, but might be a good resource.  (I haven\'t watched it yet)</p>\n'}, {'answer_id': 67005, 'author': 'Calvin', 'author_id': 10053, 'author_profile': 'https://Stackoverflow.com/users/10053', 'pm_score': 2, 'selected': False, 'text': "<p>What I've done is use restful-authentication and then blend the open_id_authentication plugin into your application.  It might help to setup the open_id_authentication plugin on a test app as well, so you can determine the changes you'll need to make to the users table.</p>\n"}, {'answer_id': 67017, 'author': 'srboisvert', 'author_id': 6805, 'author_profile': 'https://Stackoverflow.com/users/6805', 'pm_score': -1, 'selected': False, 'text': '<p>Keep an eye on <a href="http://jimneath.org/2008/09/09/bort-base-rails-application/" rel="nofollow noreferrer">Bort</a>.  It is a base rails application which already has restful_authentication setup among other things.  The guy doing it is planning on adding OpenID.</p>\n'}, {'answer_id': 120254, 'author': 'tardate', 'author_id': 6329, 'author_profile': 'https://Stackoverflow.com/users/6329', 'pm_score': 2, 'selected': False, 'text': '<p>The definitive resource <em>should be</em> the <a href="http://wiki.rubyonrails.org/rails/pages/openid" rel="nofollow noreferrer">rails wiki</a>, although I use <em>should</em> advisedly because things have been changing quite fast when it comes to OpenID support.</p>\n\n<p>Ryan Bates\' <a href="http://railscasts.com/episodes/68-openid-authentication" rel="nofollow noreferrer">Railscast on Openid</a> is the best thing I\'ve found to follow. Even though it was recorded with Rails 1.2.3, I\'ve been able to successfully follow the tutorial with Rails 2.1.0. The only point to note is that for:</p>\n\n<pre><code>gem install ruby-openid\n</code></pre>\n\n<p>I installed 2.1.2, rather than the 1.1.4 used in railscast.</p>\n\n<p>The OpenID plugin used is open_id_authentication, and I tested it in combination with restful_authentication from git://github.com/technoweenie/restful-authentication.git</p>\n\n<p>NB: I subsequently wrote this up in a <a href="http://tardate.blogspot.com/2008/10/restfulauthentication-and-openid-with.html" rel="nofollow noreferrer">blog post</a>.</p>\n'}, {'answer_id': 142209, 'author': 'srboisvert', 'author_id': 6805, 'author_profile': 'https://Stackoverflow.com/users/6805', 'pm_score': 1, 'selected': False, 'text': '<p><a href="http://jimneath.org/2008/09/26/bort-now-with-openid.html" rel="nofollow noreferrer">Bort</a> now has OpenID included, in addition to restful_authentication.</p>\n'}, {'answer_id': 902897, 'author': 'Luke Bayes', 'author_id': 105023, 'author_profile': 'https://Stackoverflow.com/users/105023', 'pm_score': 1, 'selected': False, 'text': '<p>Oddly, this subject doesn\'t appear to have received much attention from the Rails community since 2007.</p>\n\n<p>The latest trunk of Bort didn\'t seem to work with Rails 2.3.x, so I forked it and got it working.</p>\n\n<p>I also added some things that I personally use - like yui reset/base, jquery, etc.</p>\n\n<p>The fork is very much still a work in progress, but I hope to provide broad, tested authentication support for restful auth, google auth, facebook connect, twitter, etc. </p>\n\n<p><a href="http://github.com/lukebayes/bort" rel="nofollow noreferrer">http://github.com/lukebayes/bort</a></p>\n'}, {'answer_id': 1306114, 'author': 'Marcin Gil', 'author_id': 5731, 'author_profile': 'https://Stackoverflow.com/users/5731', 'pm_score': 1, 'selected': False, 'text': '<p>I have found that using BinaryLogic\'s Authlogic gems are quite easy and straightforward to use. See <a href="http://github.com/binarylogic/authlogic/tree/master" rel="nofollow noreferrer" title="AuthLogic">Authlogic</a> and its <a href="http://github.com/binarylogic/authlogic_openid/tree/master" rel="nofollow noreferrer" title="OpenID plugin">OpenID plugin</a>.</p>\n\n<p>You can download an <a href="http://github.com/binarylogic/authlogic_example/tree/master" rel="nofollow noreferrer">example application</a> or <a href="http://authlogicexample.binarylogic.com/" rel="nofollow noreferrer">try it</a>!</p>\n'}, {'answer_id': 32406002, 'author': 'odigity', 'author_id': 210867, 'author_profile': 'https://Stackoverflow.com/users/210867', 'pm_score': 2, 'selected': False, 'text': '<p>The only gem I know of that supports OpenID Connect (the latest version) is:</p>\n\n<p><a href="https://github.com/nov/openid_connect" rel="nofollow">https://github.com/nov/openid_connect</a></p>\n\n<p>However, it has absolutely no documentation.  :(</p>\n'}]
['https://Stackoverflow.com/questions/66885', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/7754/']