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); }); +