No point in changing the name of the OpenID identity column in users table. Use the existing one.

This commit is contained in:
Eric Allen 2008-12-08 18:51:33 -05:00
parent c46e5a9e1d
commit 611a53e668
5 changed files with 19 additions and 23 deletions

View file

@ -96,7 +96,7 @@ class LoginController < ApplicationController
session['noexpiry'] ||= params['user_noexpiry'] session['noexpiry'] ||= params['user_noexpiry']
authenticate_with_open_id do |result, identity_url| authenticate_with_open_id do |result, identity_url|
if result.successful? if result.successful?
if @user = User.find_by_identity_url(identity_url) if @user = User.find_by_open_id_url(identity_url)
session['user_id'] = @user.id session['user_id'] = @user.id
msg = (should_expire_sessions?) ? "will expire after 1 hour of inactivity." : "will not expire." msg = (should_expire_sessions?) ? "will expire after 1 hour of inactivity." : "will not expire."
notify :notice, "Login successful: session #{msg}" notify :notice, "Login successful: session #{msg}"

View file

@ -154,7 +154,7 @@ class UsersController < ApplicationController
# error. If info is nil, it means that the user cancelled # error. If info is nil, it means that the user cancelled
# the verification. # the verification.
@user.auth_type = 'open_id' @user.auth_type = 'open_id'
@user.identity_url = identity_url @user.open_id_url = identity_url
if @user.save if @user.save
notify :notice, "You have successfully verified #{identity_url} as your identity and set your authentication type to Open ID." notify :notice, "You have successfully verified #{identity_url} as your identity and set your authentication type to Open ID."
else else

View file

@ -116,11 +116,11 @@ class User < ActiveRecord::Base
validates_confirmation_of :password validates_confirmation_of :password
validates_length_of :login, :within => 3..80 validates_length_of :login, :within => 3..80
validates_uniqueness_of :login, :on => :create validates_uniqueness_of :login, :on => :create
validates_presence_of :identity_url, :if => :using_openid? validates_presence_of :open_id_url, :if => :using_openid?
before_create :crypt_password, :generate_token before_create :crypt_password, :generate_token
before_update :crypt_password before_update :crypt_password
before_save :normalize_identity_url before_save :normalize_open_id_url
#for will_paginate plugin #for will_paginate plugin
cattr_accessor :per_page cattr_accessor :per_page
@ -145,9 +145,9 @@ class User < ActiveRecord::Base
return nil return nil
end end
def self.find_by_identity_url(raw_identity_url) def self.find_by_open_id_url(raw_identity_url)
normalized_identity_url = OpenIdAuthentication.normalize_url(raw_identity_url) normalized_open_id_url = OpenIdAuthentication.normalize_url(raw_identity_url)
find(:first, :conditions => ['identity_url = ?', normalized_identity_url]) find(:first, :conditions => ['open_id_url = ?', normalized_open_id_url])
end end
def self.no_users_yet? def self.no_users_yet?
@ -235,8 +235,8 @@ protected
crypted_password == sha1(pass) crypted_password == sha1(pass)
end end
def normalize_identity_url def normalize_open_id_url
return if identity_url.nil? return if open_id_url.nil?
self.identity_url = OpenIdAuthentication.normalize_url(identity_url) self.open_id_url = OpenIdAuthentication.normalize_url(open_id_url)
end end
end end

View file

@ -12,8 +12,6 @@ class UpgradeOpenId < ActiveRecord::Migration
t.string :salt, :null => false t.string :salt, :null => false
end end
add_column :users, :identity_url, :string
drop_table :open_id_associations drop_table :open_id_associations
drop_table :open_id_nonces drop_table :open_id_nonces
drop_table :open_id_settings drop_table :open_id_settings
@ -41,7 +39,5 @@ class UpgradeOpenId < ActiveRecord::Migration
t.string "setting" t.string "setting"
t.binary "value" t.binary "value"
end end
remove_column :users, :identity_url
end end
end end

View file

@ -326,18 +326,18 @@ class UserTest < Test::Rails::TestCase
assert_nil users(:other_user).remember_token assert_nil users(:other_user).remember_token
end end
def test_normalizes_identity_url_on_save def test_normalizes_open_id_url_on_save
['www.johndoe.com', 'WWW.JOHNDOE.COM', 'http://www.johndoe.com/', 'http://www.johndoe.com'].each do |initial| ['www.johndoe.com', 'WWW.JOHNDOE.COM', 'http://www.johndoe.com/', 'http://www.johndoe.com'].each do |initial|
assert_identity_url_normalized_on_save initial, 'http://www.johndoe.com/' assert_open_id_url_normalized_on_save initial, 'http://www.johndoe.com/'
end end
end end
def test_normalizes_identity_url_on_find def test_normalizes_open_id_url_on_find
u = users(:other_user) u = users(:other_user)
u.identity_url = 'http://www.johndoe.com' u.open_id_url = 'http://www.johndoe.com'
u.save u.save
['www.johndoe.com', 'WWW.JOHNDOE.COM', 'http://www.johndoe.com/', 'http://www.johndoe.com'].each do |raw_identity_url| ['www.johndoe.com', 'WWW.JOHNDOE.COM', 'http://www.johndoe.com/', 'http://www.johndoe.com'].each do |raw_open_id_url|
assert_equal u.id, User.find_by_identity_url(raw_identity_url).id assert_equal u.id, User.find_by_open_id_url(raw_open_id_url).id
end end
end end
@ -348,11 +348,11 @@ class UserTest < Test::Rails::TestCase
User.create({ :login => 'quire', :password => 'quire', :password_confirmation => 'quire' }.merge(options)) User.create({ :login => 'quire', :password => 'quire', :password_confirmation => 'quire' }.merge(options))
end end
def assert_identity_url_normalized_on_save(initial, expected) def assert_open_id_url_normalized_on_save(initial, expected)
u = users(:other_user) u = users(:other_user)
u.identity_url = initial u.open_id_url = initial
u.save u.save
assert_equal expected, u.identity_url assert_equal expected, u.open_id_url
end end
end end