Browse Source

fixed 密码处理,兼容base64

pull/348/head
xxq250 1 year ago
parent
commit
076d92a3eb
8 changed files with 16 additions and 16 deletions
  1. +5
    -5
      app/controllers/accounts_controller.rb
  2. +2
    -2
      app/controllers/api/v1/users_controller.rb
  3. +1
    -1
      app/controllers/organizations/organizations_controller.rb
  4. +3
    -3
      app/forms/base_form.rb
  5. +2
    -2
      app/services/accounts/reset_password_service.rb
  6. +1
    -1
      app/services/api/v1/users/update_email_service.rb
  7. +1
    -1
      app/services/api/v1/users/update_phone_service.rb
  8. +1
    -1
      app/services/users/register_service.rb

+ 5
- 5
app/controllers/accounts_controller.rb View File

@@ -144,7 +144,7 @@ class AccountsController < ApplicationController


user = Users::RegisterService.call(register_params) user = Users::RegisterService.call(register_params)
user.mail = "#{user.login}@example.org" if user.mail.blank? user.mail = "#{user.login}@example.org" if user.mail.blank?
password = decrypt(register_params[:password]) rescue ""
password = decrypt(register_params[:password]) rescue register_params[:password].to_s
password = password.strip password = password.strip


# gitea用户注册, email, username, password # gitea用户注册, email, username, password
@@ -195,7 +195,7 @@ class AccountsController < ApplicationController


# 用户登录 # 用户登录
def login def login
password = decrypt(login_params[:password]) rescue ""
password = decrypt(login_params[:password]) rescue login_params[:password].to_s
Users::LoginForm.new(login_params.merge!({password: password})).validate! Users::LoginForm.new(login_params.merge!({password: password})).validate!
@user = User.try_to_login(params[:login], password) @user = User.try_to_login(params[:login], password)


@@ -225,9 +225,9 @@ class AccountsController < ApplicationController
end end


def change_password def change_password
password = decrypt(params[:password]) rescue ""
new_password_repeat = decrypt(params[:new_password_repeat]) rescue ""
old_password = decrypt(params[:old_password]) rescue ""
password = decrypt(params[:password]) rescue params[:password].to_s
new_password_repeat = decrypt(params[:new_password_repeat]) rescue params[:new_password_repeat].to_s
old_password = decrypt(params[:old_password]) rescue params[:old_password]
return render_error("两次输入的密码不一致") if password.to_s != new_password_repeat.to_s return render_error("两次输入的密码不一致") if password.to_s != new_password_repeat.to_s
@user = User.find_by(login: params[:login]) @user = User.find_by(login: params[:login])
return render_forbidden unless User.current.login == @user&.login return render_forbidden unless User.current.login == @user&.login


+ 2
- 2
app/controllers/api/v1/users_controller.rb View File

@@ -54,7 +54,7 @@ class Api::V1::UsersController < Api::V1::BaseController
end end


def check_password def check_password
password = decrypt(params[:password]) rescue ""
password = decrypt(params[:password]) rescue params[:password].to_s
return tip_exception(-5, "8~16位密码,支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD return tip_exception(-5, "8~16位密码,支持字母数字和符号") unless password =~ CustomRegexp::PASSWORD
return tip_exception(-5, "密码错误") unless @observe_user.check_password?(password) return tip_exception(-5, "密码错误") unless @observe_user.check_password?(password)
render_ok render_ok
@@ -127,7 +127,7 @@ class Api::V1::UsersController < Api::V1::BaseController




def destroy def destroy
password = decrypt(params[:password]) rescue ""
password = decrypt(params[:password]) rescue params[:password].to_s
return tip_exception(-1, "密码不正确.") unless @observe_user.check_password?(password) return tip_exception(-1, "密码不正确.") unless @observe_user.check_password?(password)
org_ids = TeamUser.where(user_id: @observe_user.id).pluck(:organization_id) | OrganizationUser.where(user_id: @observe_user.id).pluck(:organization_id) org_ids = TeamUser.where(user_id: @observe_user.id).pluck(:organization_id) | OrganizationUser.where(user_id: @observe_user.id).pluck(:organization_id)
org_count = TeamUser.where(organization_id: org_ids).where(user_id: @observe_user.id).joins(:team).where(teams: {authorize: %w(owner)}).count org_count = TeamUser.where(organization_id: org_ids).where(user_id: @observe_user.id).joins(:team).where(teams: {authorize: %w(owner)}).count


+ 1
- 1
app/controllers/organizations/organizations_controller.rb View File

@@ -140,7 +140,7 @@ class Organizations::OrganizationsController < Organizations::BaseController
end end


def password def password
decrypt(params[:password]) rescue ""
decrypt(params[:password]) rescue params[:password].to_s
end end


def load_organization def load_organization


+ 3
- 3
app/forms/base_form.rb View File

@@ -54,14 +54,14 @@ class BaseForm
end end


def check_password(password) def check_password(password)
password = decrypt(password) rescue ""
password = decrypt(password) rescue password
password = strip(password) password = strip(password)
raise PasswordFormatError, "密码8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD raise PasswordFormatError, "密码8~16位密码,支持字母数字和符号" unless password =~ CustomRegexp::PASSWORD
end end


def check_password_confirmation(password, password_confirmation) def check_password_confirmation(password, password_confirmation)
password = decrypt(password) rescue ""
password_confirmation = decrypt(password_confirmation) rescue ""
password = decrypt(password) rescue password
password_confirmation = decrypt(password_confirmation) rescue password_confirmation


password = strip(password) password = strip(password)
password_confirmation = strip(password_confirmation) password_confirmation = strip(password_confirmation)


+ 2
- 2
app/services/accounts/reset_password_service.rb View File

@@ -4,8 +4,8 @@ module Accounts
# login、code、password、password_confirmation # login、code、password、password_confirmation
def initialize(user, params) def initialize(user, params)
@user = user @user = user
@password = decrypt(params[:password]) rescue ""
@password_confirmation = decrypt(params[:password_confirmation]) rescue ""
@password = decrypt(params[:password]) rescue params[:password].to_s
@password_confirmation = decrypt(params[:password_confirmation]) rescue params[:password_confirmation].to_s
end end


def call def call


+ 1
- 1
app/services/api/v1/users/update_email_service.rb View File

@@ -11,7 +11,7 @@ class Api::V1::Users::UpdateEmailService < ApplicationService
def initialize(user, params, token =nil) def initialize(user, params, token =nil)
@user = user @user = user
@token = token @token = token
@password = decrypt(params[:password]) rescue ""
@password = decrypt(params[:password]) rescue params[:password].to_s
@mail = params[:email] @mail = params[:email]
@old_mail = user.mail @old_mail = user.mail
@code = params[:code] @code = params[:code]


+ 1
- 1
app/services/api/v1/users/update_phone_service.rb View File

@@ -9,7 +9,7 @@ class Api::V1::Users::UpdatePhoneService < ApplicationService


def initialize(user, params) def initialize(user, params)
@user = user @user = user
@password = decrypt(params[:password]) rescue ""
@password = decrypt(params[:password]) rescue params[:password].to_s
@phone = params[:phone] @phone = params[:phone]
@code = params[:code] @code = params[:code]
@verify_code = VerificationCode.where(phone: @phone, code_type: 4).last @verify_code = VerificationCode.where(phone: @phone, code_type: 4).last


+ 1
- 1
app/services/users/register_service.rb View File

@@ -4,7 +4,7 @@ class Users::RegisterService < ApplicationService
def initialize(params) def initialize(params)
@login = params[:login] @login = params[:login]
@namespace = params[:namespace] @namespace = params[:namespace]
@password = decrypt(params[:password]) rescue ""
@password = decrypt(params[:password]) rescue params[:password].to_s
@code = params[:code] @code = params[:code]
end end




Loading…
Cancel
Save