forked from Trustie/forgeplus
add 用户增加显示token和携带token请求api
This commit is contained in:
parent
96cde9f76a
commit
89e13ecfcc
|
|
@ -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
|
||||
|
|
@ -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"))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,5 @@
|
|||
class AddUserIndexGiteaToken < ActiveRecord::Migration[5.2]
|
||||
def change
|
||||
add_index :users, :gitea_token
|
||||
end
|
||||
end
|
||||
Loading…
Reference in New Issue