| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- @page "/callback"
- @using GrpcShared.DTO
- @using GrpcShared.DTO.Db
- @using NemAnBlazor.Services.Interfaces
- @inject NavigationManager NavigationMgr
- @inject IAuthClientService AuthService
- @inject Blazored.LocalStorage.ILocalStorageService localStorage
- @inject IIdentityClientService identityService
-
- <PageTitle>Redirecting...</PageTitle>
-
-
- <p role="status">Loading...</p>
-
-
- @code {
-
-
- protected override async Task OnInitializedAsync()
- {
- string url = NavigationMgr.Uri;
-
- //code is the only parameter in the url
- string code = url.Split("=")[1];
-
- var response = await AuthService.GetAccessToken(new GrpcShared.DTO.Auth.TokenRequest { Code = code});
-
- //if (response.access_token == null) NavigationMgr.NavigateTo("/");
-
- //store access token in local storage
- //await localStorage.SetItemAsync("token", response.AccessToken);
- //await localStorage.SetItemAsync("refresh_token", response.RefreshToken);
- //UserResponse user = new();
- //await identityService.SaveUserAsync(new GrpcShared.DTO.Db.UserResponse());
- string userId = await localStorage.GetItemAsync<string>("user_info");
-
- if(userId == null)
- {
- VoidMessage userRes = await identityService.SaveUserAsync(new GrpcShared.DTO.Db.UserResponse { RefreshToken = response.RefreshToken , Token = response.AccessToken});
-
- if (userRes.InsertedId != null)
- await localStorage.SetItemAsync<string>("user_info", userRes.InsertedId);
-
- }
- //redirect to home
- NavigationMgr.NavigateTo("/home");
- }
- }
|