From f6067047d9186743725cdcddcf6b29f606dc147b Mon Sep 17 00:00:00 2001 From: qornwh1 Date: Mon, 16 Mar 2026 10:43:30 +0900 Subject: [PATCH] =?UTF-8?q?fix=20:=20=ED=86=A0=ED=81=B0=EC=9D=B8=EC=A6=9D?= =?UTF-8?q?=20=EC=8A=A4=ED=8E=99=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- MMOTestServer/MMOserver/Api/RestApi.cs | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/MMOTestServer/MMOserver/Api/RestApi.cs b/MMOTestServer/MMOserver/Api/RestApi.cs index baf4f79..cd24bf4 100644 --- a/MMOTestServer/MMOserver/Api/RestApi.cs +++ b/MMOTestServer/MMOserver/Api/RestApi.cs @@ -8,23 +8,29 @@ namespace MMOserver.Api; public class RestApi : Singleton { - private const string VERIFY_URL = "https://a301.api.tolelom.xyz/api/auth/internal/auth/verify"; + private const string VERIFY_URL = "https://a301.api.tolelom.xyz"; + private const string INTERNAL_API_KEY = "017f15b28143fc67d2e5bed283c37d2da858b9f294990a5334238e055e3f5425"; private readonly HttpClient httpClient = new HttpClient { Timeout = TimeSpan.FromSeconds(5) }; private const int MAX_RETRY = 3; private static readonly TimeSpan RETRY_DELAY = TimeSpan.FromSeconds(1); + public RestApi() + { + httpClient.DefaultRequestHeaders.Add("X-API-Key", INTERNAL_API_KEY); + } + // 토큰 검증 - 성공 시 username 반환 // 401 → 재시도 없이 즉시 null 반환 (토큰 자체가 무효) // 타임아웃/네트워크 오류 → 최대 MAX_RETRY회 재시도 후 null 반환 public async Task VerifyTokenAsync(string token) { + string url = VERIFY_URL + "/api/internal/auth/verify"; for (int attempt = 1; attempt <= MAX_RETRY; attempt++) { try { - HttpResponseMessage response = await httpClient.PostAsJsonAsync(VERIFY_URL, new { token }); - response.Headers.Add("X-API-Key", token); + HttpResponseMessage response = await httpClient.PostAsJsonAsync(url, new { token }); // 401: 토큰 자체가 무효 → 재시도해도 같은 결과, 즉시 반환 if (response.StatusCode == HttpStatusCode.Unauthorized)