Skip password validation in authlogic

i am using authlogic for user authentication and authlogic-connect for
facebook and twitter signup.what i need is that i need to skip
validation on the password field if user is signup via facebook or
twitter.my environment is rails 3 and ruby 1.9.2.
i have acts_as_authentic in my user model.however i can skip phone
number validation like this
validates :phone_number, :numericality => true,:unless
=>Proc.new{|user|user.oauth_user}
def oauth_user
self.authenticated_with?(:facebook) ||
self.authenticated_with?(:twitter)
end

i give like this
acts_as_authentic do |c|
c.require_password_confirmation=false :if
=>Proc.new{|user|user.oauth_user}
c.validate_password_field=false :if =>Proc.new{|user|user.oauth_user}
end

but it does’t work.any help please?

On 15 December 2010 08:01, Justin V. [email protected] wrote:

acts_as_authentic do |c|
c.require_password_confirmation=false :if
=>Proc.new{|user|user.oauth_user}
c.validate_password_field=false :if =>Proc.new{|user|user.oauth_user}
end

but it does’t work.any help please?

acts_as_authentic do |c|
c.require_password_confirmation = false if c.oauth_user
c.validate_password_field = false if oauth_user
end

or

acts_as_authentic do |c|
if c.oauth_user
c.require_password_confirmation = false
c.validate_password_field = false
end
end

caveat: I don’t use Authlogic, so this is a bit of a stab from looking
at your code snippet… but it’s what I’d try first :slight_smile:

Michael P. wrote in post #968500:

On 15 December 2010 08:01, Justin V. [email protected] wrote:

acts_as_authentic do |c|
c.require_password_confirmation=false :if
=>Proc.new{|user|user.oauth_user}
c.validate_password_field=false :if =>Proc.new{|user|user.oauth_user}
end

but it does’t work.any help please?

acts_as_authentic do |c|
c.require_password_confirmation = false if c.oauth_user
c.validate_password_field = false if oauth_user
end

or

acts_as_authentic do |c|
if c.oauth_user
c.require_password_confirmation = false
c.validate_password_field = false
end
end

caveat: I don’t use Authlogic, so this is a bit of a stab from looking
at your code snippet… but it’s what I’d try first :slight_smile:

thanks for you replay but it gives me an error “undefined method
`oauth_user’ for #Class:0x00000005a63920

i have oauth_user method in my user model
def oauth_user
self.authenticated_with?(:facebook) ||
self.authenticated_with?(:twitter)
end
this method will return facebook or twitter token if user is authorized
with facebook or twitter respectively.other wise it will return nil.
so i want to skip password validation unless this method return nil
value.i have have a normal user signup using authlogic and signup via
facebook and twitter.so for facebook and twitter signup i want to skip
password validation.any help please?