Skip to content

Commit ef05995

Browse files
authored
刷新 git token 不校验用户完整性 (#212)
* Update refresh token: skip user validation check * Code refactor
1 parent 0f1018e commit ef05995

File tree

2 files changed

+10
-7
lines changed

2 files changed

+10
-7
lines changed

app/controllers/internal_api/git_token_controller.rb

+8-4
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,18 @@ class InternalApi::GitTokenController < InternalApi::ApplicationController
33

44
def refresh
55
if current_user.git_token_name.present? && current_user.git_token.present?
6-
csghub_api.delete_git_token(current_user.name, current_user.git_token_name)
6+
csghub_api.delete_git_token(current_user.name, current_user.git_token_name, current_user.name)
77
end
88
random_name = SecureRandom.uuid
99
res_body = csghub_api.generate_git_token(current_user.name, random_name)
1010
res_json = JSON.parse(res_body)
11-
current_user.git_token_name = res_json["data"]["name"]
12-
current_user.git_token = res_json["data"]["token"]
13-
if current_user.save
11+
12+
token_name = res_json.dig("data", "name")
13+
token = res_json.dig("data", "token")
14+
15+
if token.present? && token_name.present?
16+
current_user.update_columns(git_token_name: token_name,
17+
git_token: token)
1418
render json: { token: current_user.git_token, message: '刷新 Git Token 成功' }
1519
else
1620
render json: { message: '刷新 Git Token 失败' }, status: :bad_request

app/services/starhub/api.rb

+2-3
Original file line numberDiff line numberDiff line change
@@ -37,9 +37,8 @@ def generate_git_token(username, name, options = {})
3737
res.body
3838
end
3939

40-
# Not used
41-
def delete_git_token(username, token_name)
42-
@client.delete("/user/#{username}/tokens/#{token_name}")
40+
def delete_git_token(username, token_name, current_user)
41+
@client.delete("/user/#{username}/tokens/#{token_name}?current_user=#{current_user}")
4342
end
4443

4544
def get_user_models(namespace, username, options = {})

0 commit comments

Comments
 (0)