From 2219dc5b76b4013956760d3b5ae1145d634fd088 Mon Sep 17 00:00:00 2001 From: xxq250 Date: Wed, 12 Jun 2024 11:08:31 +0800 Subject: [PATCH] =?UTF-8?q?fixed=20=E7=A7=81=E6=9C=89=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E6=8E=A5=E5=8F=A3=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/controllers/users_controller.rb | 9 +++++++++ config/routes.rb | 1 + 2 files changed, 10 insertions(+) diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 8994ee30e..54cb07e5d 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -730,6 +730,15 @@ class UsersController < ApplicationController render_not_found end + #根据login获取用户信息 + def get_user_info_by_login + private_token = "hriEn3UwXfJs3PmyXnSH" + sign = Digest::MD5.hexdigest("#{private_token}:#{params[:login]}") + tip_exception(401, '401 Unauthorized') unless params[:sign].to_s == sign + user = User.find_by_login params[:login] + render_ok(data: {username: user.real_name, school: user.custom_department, login: user.login, phone: user.phone, mail: user.mail}) + end + def sso_login if params[:login].present? && !current_user.logged? && params[:websiteName].present? && request.referer.to_s.include?("gitlink.org.cn") user = User.where("login = ?", "#{params[:login].presence}").first diff --git a/config/routes.rb b/config/routes.rb index a25447641..75caa100d 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -288,6 +288,7 @@ Rails.application.routes.draw do post :following post :unfollow get :get_user_info + get :get_user_info_by_login get :attachment_show get :html_show get :get_navigation_info