From 973e18812cc35b099d22077d23c63bb61ee24715 Mon Sep 17 00:00:00 2001 From: yystopf Date: Wed, 4 Sep 2024 14:33:47 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=EF=BC=9Agitlink=E3=80=81gite?= =?UTF-8?q?a=E3=80=81gitcode=E7=9A=84token=E6=A0=A1=E9=AA=8C=E4=BB=A5?= =?UTF-8?q?=E5=8F=8A=E8=AF=B7=E6=B1=82=E8=B6=85=E6=97=B6=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=9A=84=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projects/verify_auth_token_service.rb | 68 ++++++++++++++++--- 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/app/services/projects/verify_auth_token_service.rb b/app/services/projects/verify_auth_token_service.rb index 36dcb106f..1f6b7a076 100644 --- a/app/services/projects/verify_auth_token_service.rb +++ b/app/services/projects/verify_auth_token_service.rb @@ -36,16 +36,66 @@ class Projects::VerifyAuthTokenService < ApplicationService gitlab_verify when "gitee.com" gitee_verify + when "gitlink.org.cn" + gitlink_verify + when "gitea.com" + gitea_verify + when "gitcode.com" + gitcode_verify + else + @success = nil end end + def gitcode_verify + url = "/api/v5/user" + api_url = "https://api.gitcode.com" + client = Faraday.new(url: api_url) + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 + req_params={ + access_token: @token + } + response = client.public_send("get", url, req_params) + @success = true if response.status == 200 + end + + def gitea_verify + url = "/api/v1/user" + api_url = "https://gitea.com" + client = Faraday.new(url: api_url) + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 + req_params={ + token: @token + } + response = client.public_send("get", url, req_params) + @success = true if response.status == 200 + end + + def gitlink_verify + url = "/api/v1/user" + api_url = "https://cdn05042023.gitlink.org.cn" + client = Faraday.new(url: api_url) + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 + req_params={ + token: @token + } + response = client.public_send("get", url, req_params) + @success = true if response.status == 200 + end + def gitee_verify url = "/api/v5/repos/#{@owner}/#{@repo}" api_url= "https://gitee.com" client = Faraday.new(url: api_url) - client.options["open_timeout"] = 1 - client.options["timeout"] = 1 - client.options["write_timeout"] = 1 + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 req_params={ access_token: @token, owner: @owner, @@ -59,9 +109,9 @@ class Projects::VerifyAuthTokenService < ApplicationService url = "/octocat" api_url= "https://api.github.com" client = Faraday.new(url: api_url) - client.options["open_timeout"] = 1 - client.options["timeout"] = 1 - client.options["write_timeout"] = 1 + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 client.headers["Authorization"] = "Bearer #{@token}" response = client.public_send("get", url) @success = true if response.status == 200 @@ -71,9 +121,9 @@ class Projects::VerifyAuthTokenService < ApplicationService url = "/api/v4/projects" api_url= "https://gitlab.com" client = Faraday.new(url: api_url) - client.options["open_timeout"] = 1 - client.options["timeout"] = 1 - client.options["write_timeout"] = 1 + client.options["open_timeout"] = 100 + client.options["timeout"] = 100 + client.options["write_timeout"] = 100 req_params={ private_token: @token }