From: Kai Krueger Date: Sat, 23 Jan 2010 01:38:18 +0000 (+0000) Subject: Allow to not specify a password when signing up with openID X-Git-Tag: live~6381 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/f0cac0fcc37506ad981cdc3fd6607d5a2c3e4ca0?ds=sidebyside Allow to not specify a password when signing up with openID If the password field has a length of 0 and we have a valid openID, then disable password login by generating a random unknown password. This still needs some warnings to indicate that not all services such as trac, the forum or some editors are supported with openid only via oauth. --- diff --git a/app/controllers/user_controller.rb b/app/controllers/user_controller.rb index fa82f6251..7a4448e51 100644 --- a/app/controllers/user_controller.rb +++ b/app/controllers/user_controller.rb @@ -47,6 +47,13 @@ class UserController < ApplicationController @user.openid_url = nil if (params[:user][:openid_url].length > 0) + if @user.pass_crypt.length == 0 + #if the password is empty, but we have a openid + #then generate a random passowrd to disable + #loging in via password + @user.pass_crypt = ActiveSupport::SecureRandom.base64(16) + @user.pass_crypt_confirmation = @user.pass_crypt + end #Validate all of the other fields before #redirecting to the openid provider if !@user.valid?