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.
This commit is contained in:
parent
d9ed74265f
commit
f0cac0fcc3
1 changed files with 7 additions and 0 deletions
|
@ -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?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue