OpenID is complex and limited. Use RPX.

I just finished a RPXNow Rails plugin and gem
so that everyone can enjoy the great usability + simplicity of RPX

Use OpenId / Google / Yahoo / MySpace / Facebook connect transparently through the same interface.

Usage

#login.erb
RPXNow.embed_code('mywebsite',url_for(:controller=>:session, :action=>:rpx_token))

#sessions_controller.rb
def rpx_token
  data = RPXNow.user_data(params[:token],'YOUR RPX API KEY')
  self.current_user = User.find_by_identifier(data[:identifier]) || User.create!(data)
  redirect_to '/'
end

Doing the same with OpenId is impossible, since every provider has his own standards of which fields to supply and how to name them.

Happy login!

19 thoughts on “OpenID is complex and limited. Use RPX.

  1. Thanks for this great plugin. I’m getting an, undefined method `find_by_identifier’. Where is this method defined or have I missed something?

  2. you need an identifier(string) column on your model -> find_by_identifier works, I just added an example migration to make that easier šŸ˜‰
    (identifier is used to store the unique identifier every provider assigns to its users)

  3. It works with anything, sinatra/waves/merb/rails 1.2.6 / 2.1 / 2.3.3, is basically only a gem also available as rails plugin, so there should be no problems.

  4. Hi Michael,
    Thanks for the great information.

    I have a very newbie question:

    RPXNow.embed_code(‘mywebsite’,rpx_token_sessions_url)

    what is “rpx_token_sessions_url” how do i construct it?
    I have registered an application called mosaicit at RPX website.
    and am trying to connect from localhost then how should my url look like ?

    Thanks,
    Pratik

  5. I only got this error when logging in twice with the same identifier, e.g. using refresh page, or when the identifier was wrong or when the identifier was very old

  6. When logging into twitter it is looking for an outh_calback which does not appear to exist. How do I get twitter to work with the rails gem?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s