From 9167e2a9d642666e2ff28ae6573439e0cf9f2c8e Mon Sep 17 00:00:00 2001 From: "Seonkyu.kim" Date: Mon, 26 May 2025 17:44:13 +0900 Subject: [PATCH] =?UTF-8?q?[=E2=9C=A8]=20=EB=8F=99=EC=9E=91=20=EB=A1=9C?= =?UTF-8?q?=EC=A7=81=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 퍼블리시 동작 로직 수정 2. 쿠키 설정 동작 로직 추가 --- App.razor.cs | 37 +++++++++++++++++++++++++++++ Program.cs | 10 +++++--- Program/Views/Project/Auth.razor | 2 +- Program/Views/Project/Auth.razor.cs | 7 +++++- wwwroot/index.html | 18 ++++++++++++++ 5 files changed, 69 insertions(+), 5 deletions(-) create mode 100644 App.razor.cs diff --git a/App.razor.cs b/App.razor.cs new file mode 100644 index 0000000..9e6d168 --- /dev/null +++ b/App.razor.cs @@ -0,0 +1,37 @@ +using System.Net; +using System.Net.Http.Json; +using Microsoft.AspNetCore.Components; +using Microsoft.JSInterop; + +namespace Front; + +public partial class App : ComponentBase +{ + [Inject] HttpClient Http { get; set; } = default!; + [Inject] IJSRuntime JS { get; set; } = default!; + + protected override async Task OnAfterRenderAsync(bool firstRender) + { + if (firstRender) + { + // Web_AM_Connect_Key 쿠키를 가져오는 JavaScript 함수를 호출합니다. + var header = await JS.InvokeAsync("blazorGetCookie", "Web_AM_Connect_Key"); + + // 값 없으면 API 호출 + if (string.IsNullOrEmpty(header)) + { + var response = await Http.GetFromJsonAsync("/api/v1/in/app?type=W&specific=Web_Connect&project=AcaMate"); + Console.WriteLine($"COOKIE: {response.header}"); + if (!string.IsNullOrEmpty(response?.header)) + { + Console.WriteLine($"NO?"); + await JS.InvokeVoidAsync("blazorSetCookie", "Web_AM_Connect_Key", response.header, 1); + } + } + } + } + public class ApiResult + { + public string header { get; set; } + } +} \ No newline at end of file diff --git a/Program.cs b/Program.cs index 53561b9..439c3b7 100644 --- a/Program.cs +++ b/Program.cs @@ -10,12 +10,16 @@ var builder = WebAssemblyHostBuilder.CreateDefault(args); builder.RootComponents.Add("#app"); builder.RootComponents.Add("head::after"); -// builder.Services.AddScoped(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) }); + builder.Services.AddScoped(sp => //new HttpClient { - // BaseAddress = new Uri("https://localhost:5144") + + // BaseAddress = new Uri("https://localhost:5144"); var config = builder.Configuration; - var http = new HttpClient(); + var http = new HttpClient + { + BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) + }; return http; }); diff --git a/Program/Views/Project/Auth.razor b/Program/Views/Project/Auth.razor index 355c524..a380be1 100644 --- a/Program/Views/Project/Auth.razor +++ b/Program/Views/Project/Auth.razor @@ -5,6 +5,6 @@
- +
\ No newline at end of file diff --git a/Program/Views/Project/Auth.razor.cs b/Program/Views/Project/Auth.razor.cs index b36a928..9bc37b2 100644 --- a/Program/Views/Project/Auth.razor.cs +++ b/Program/Views/Project/Auth.razor.cs @@ -4,5 +4,10 @@ namespace Front.Program.Views.Project; public partial class Auth : ComponentBase { - + [Inject] NavigationManager NavigationManager { get; set; } = default!; + void KakaoLogin() + { + // Redirect to Kakao login page + NavigationManager.NavigateTo("/api/v1/in/user/kakao/auth", true); + } } \ No newline at end of file diff --git a/wwwroot/index.html b/wwwroot/index.html index b5f8a49..6dcc12c 100644 --- a/wwwroot/index.html +++ b/wwwroot/index.html @@ -49,5 +49,23 @@ console.error("❌ Blazor 로딩 실패", err); }); +