• 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29

OpenIdAuthentication is depend on gem ruby-openid 1.1.4. In addition, ruby-openid 1.1.4 is broken with 1.0.1 gem :(
So, I applied patch(Ticket#10604) and they works well.

  1. Install gem ruby-openid(2.0.4)

       1  gem install ruby-openid
    

  2. Install plugin

       1  $ ./script/plugin install http://svn.rubyonrails.org/rails/plugins/open_id_authentication/
    

  3. Apply patch

    • Get a patch and save as ticket10604.diff
      http://dev.rubyonrails.org/ticket/10604

    • Move diff file to plugin root

         1   #{RAILS_ROOT}/vendor/plugins/open_id_authentication/ticket10604.diff
      

    • Move to plugin root and do patch command

         1  $ patch -p1 < ticket10604.diff
         2  patching file init.rb
         3  Hunk #1 FAILED at 1.
         4  1 out of 1 hunk FAILED -- saving rejects to file init.rb.rej
         5  patching file lib/generators/open_id_authentication_tables/open_id_authentication_tables_generator.rb
         6  patching file lib/generators/open_id_authentication_tables/templates/migration.rb
         7  patching file lib/open_id_authentication.rb
         8  Hunk #5 succeeded at 69 with fuzz 1 (offset -2 lines).
         9  Hunk #6 succeeded at 88 (offset -2 lines).
        10  Hunk #7 succeeded at 152 (offset -2 lines).
        11  patching file lib/open_id_authentication/association.rb
        12  patching file lib/open_id_authentication/db_store.rb
        13  patching file lib/open_id_authentication/nonce.rb
        14  patching file lib/open_id_authentication/setting.rb
        15  patching file tasks/open_id_authentication_tasks.rake
        16  patching file test/normalize_test.rb
        17  patching file test/open_id_authentication_test.rb
        18  patching file test/status_test.rb
      

  4. Do some work in README

    • Creating tables

         1   rake open_id_authentication:db:create 
      

    • Add some routes

         1  #config/routes.rb
         2    map.open_id_complete 'session', :controller => "sessions", :action => "create", :requirements => { :method => :get }
         3    map.resource :session
      

    • Generate SessionsController, and create vews/sessions/new.html.erb
      Tip:NOT to use sample code in agilewebdevelopment.com. Use sample code in README.

         1      def open_id_authentication
         2        authenticate_with_open_id do |result, identity_url|
         3          if result.successful? && @current_user = @account.users.find_by_identity_url(identity_url)
         4            successful_login
         5          else
         6            failed_login(result.message || "Sorry, no user by that identity URL exists (#{identity_url})")
         7          end
         8        end
         9      end
      

  5. Ommit version of ruby-openid

       1  #open_id_authentication/init.rb
       2  begin
       3  #  gem 'ruby-openid', '=1.1.4'
       4    gem 'ruby-openid'
    

posted by Png hibi on Wed 27 Feb 2008 at 16:23 with 2 comments

Comments:

Face or_use_the_provided_openid_nick about 16 years ago.

I can't get it to work! I get redirected to yahoos openid site, and I click "Let me in", and I get back to my rails app, but always with the flash-error: OpenID verification failed

Using ruby-openid 2.0.4, and the OpenidAuth-plugin is installed from within Aptana and is already patched. Any idea?

Png satoko about 16 years ago.

In my app fail too. But authentication with yahoo is SUCCESS, but myapp has fail becase yahoo doesn't provide any infomation(like email, nickname...) which is necessaly for the app.

rails >> logger.debug status.successful? #=>true
logger.debug registration[:nickname] #=> this will fail
logger.debug registration[:email] #=> this will fail too
<<--

or Preview
Social Bookmarks
  • Delicious
  • B_entry383
  • Clip_16_12_w
Services from s21g
twpro(ツイプロ)
Twitterプロフィールを快適検索
地価2009
土地の値段を調べてみよう
MyRestaurant
自分だけのレストラン手帳
Formula
ブログに数式を埋め込める数式コミュニティ