diff --git a/app/controllers/bind_users_controller.rb b/app/controllers/bind_users_controller.rb index f58124529..f5ed33809 100644 --- a/app/controllers/bind_users_controller.rb +++ b/app/controllers/bind_users_controller.rb @@ -12,6 +12,7 @@ class BindUsersController < ApplicationController tip_exception '该账号已被绑定,请更换其他账号进行绑定' if bind_user.bind_open_user?(params[:type].to_s) "OpenUsers::#{params[:type].to_s.capitalize}".constantize.create!(user: bind_user, uid: session[:unionid]) + successful_authentication(bind_user) @user = bind_user end diff --git a/app/controllers/oauth/callbacks_controller.rb b/app/controllers/oauth/callbacks_controller.rb index 8a06a6611..72885e7d9 100644 --- a/app/controllers/oauth/callbacks_controller.rb +++ b/app/controllers/oauth/callbacks_controller.rb @@ -69,6 +69,8 @@ class Oauth::CallbacksController < Oauth::BaseController open_user = "OpenUsers::#{platform.to_s.capitalize}".constantize.find_by(uid: uid) if open_user.present? && open_user.user.present? successful_authentication(open_user.user) + redirect_to root_path(new_user: false) + return else if current_user.blank? || !current_user.logged? session[:unionid] = uid @@ -76,6 +78,7 @@ class Oauth::CallbacksController < Oauth::BaseController "OpenUsers::#{platform.to_s.capitalize}".constantize.create!(user: current_user, uid: uid) end end + Rails.logger.info("[OAuth2] session[:unionid] -> #{session[:unionid]}") redirect_to "/bindlogin/#{platform}" end diff --git a/app/controllers/settings_controller.rb b/app/controllers/settings_controller.rb index 50b86d74c..def2e2c89 100644 --- a/app/controllers/settings_controller.rb +++ b/app/controllers/settings_controller.rb @@ -78,7 +78,7 @@ class SettingsController < ApplicationController } platform_url = Rails.application.config_for(:configuration)['platform_url'] config = Rails.application.config_for(:configuration) - (config.dig("oauth").keys - ["educoder"]).each do |provider| + (config.dig("oauth").keys - ["educoder", "wechat"]).each do |provider| @third_party_new << { name: provider, url: "#{platform_url}/auth/#{provider}", diff --git a/app/jobs/open_project_dev_ops_job.rb b/app/jobs/open_project_dev_ops_job.rb index 057d173c8..64115f25f 100644 --- a/app/jobs/open_project_dev_ops_job.rb +++ b/app/jobs/open_project_dev_ops_job.rb @@ -7,7 +7,7 @@ class OpenProjectDevOpsJob < ApplicationJob project = Project.find_by(id: project_id) user = User.find_by(id: user_id) code = jianmu_devops_code(project, user) - uri = URI.parse("#{jianmu_devops_url}/oauth2/authorize?code=#{URI.encode_www_form_component(code)}") + uri = URI.parse("#{jianmu_devops_url}/activate?code=#{URI.encode_www_form_component(code)}") response = Net::HTTP.get_response(uri) puts "jianmu_devops_url response.code ===== #{response.code}" SendTemplateMessageJob.perform_later('ProjectOpenDevOps', user_id, project_id) diff --git a/app/queries/projects/list_query.rb b/app/queries/projects/list_query.rb index c943f1317..447ab5070 100644 --- a/app/queries/projects/list_query.rb +++ b/app/queries/projects/list_query.rb @@ -45,7 +45,7 @@ class Projects::ListQuery < ApplicationQuery else items = items.by_name_or_identifier(params[:search]) end - items.or(Project.visible.where(user_id: Owner.like(params[:search]).pluck(:id))) + items.or(items.where(user_id: Owner.like(params[:search]).pluck(:id))) end def by_project_type(items) diff --git a/app/views/bind_users/create.json.jbuilder b/app/views/bind_users/create.json.jbuilder index 0ac7dc823..7223be386 100644 --- a/app/views/bind_users/create.json.jbuilder +++ b/app/views/bind_users/create.json.jbuilder @@ -1,3 +1,4 @@ +json.status 0 json.username @user.full_name json.real_name @user.real_name json.login @user.login