add 用户增加显示token和携带token请求api

This commit is contained in:
xxq250 2025-10-31 15:57:12 +08:00
parent 96cde9f76a
commit 89e13ecfcc
4 changed files with 20 additions and 0 deletions

View File

@ -0,0 +1,10 @@
class Api::V1::UserTokensController < Api::V1::BaseController
include AesCryptHelper
before_action :require_login
def show
password = decrypt(params[:password]) rescue params[:password].to_s
tip_exception("密码不正确") unless current_user.check_password?(password)
render_ok({access_token: current_user.gitea_token})
end
end

View File

@ -326,6 +326,10 @@ class ApplicationController < ActionController::Base
end
end
end
elsif params[:access_token].present?
user = User.find_by(gitea_token: params[:access_token])
tip_exception(401, "无效token") if user.blank?
User.current = user
else
User.current = find_current_user
uid_logger("user_setup: " + (User.current.logged? ? "#{User.current.try(:login)} (id=#{User.current.try(:id)})" : "anonymous"))

View File

@ -67,6 +67,7 @@ defaults format: :json do
collection do
post :check_user_id
post :check_user_login
get 'access_token', to: 'user_tokens#show'
end
end

View File

@ -0,0 +1,5 @@
class AddUserIndexGiteaToken < ActiveRecord::Migration[5.2]
def change
add_index :users, :gitea_token
end
end