Logout Api call
This commit is contained in:
parent
43d9394ebb
commit
9efe9ad250
|
|
@ -255,6 +255,34 @@ namespace TIAMMobileApp.Services
|
|||
return isTokenRefreshed;
|
||||
}
|
||||
|
||||
public async Task<bool> Logout(string refreshToken)
|
||||
{
|
||||
_logger.Info("Logout() called");
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}";
|
||||
bool result = false;
|
||||
var response = await http.PostAsJsonAsync(url, RefreshToken);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string resultMessage = await response.Content.ReadAsStringAsync();
|
||||
_logger.Detail($"Logout response: {resultMessage}");
|
||||
if (resultMessage == "OK")
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
_logger.Detail($"Logout: {result}");
|
||||
return result;
|
||||
}
|
||||
|
||||
//public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel)
|
||||
//{
|
||||
|
|
|
|||
|
|
@ -126,6 +126,9 @@
|
|||
|
||||
private void SignOut()
|
||||
{
|
||||
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
||||
|
||||
UserDataService.Logout(userBasicDetail.RefreshToken);
|
||||
SecureStorageHandler.ClearAllSecureStorageAsync();
|
||||
sessionService.User = null;
|
||||
sessionService.IsAuthenticated = false;
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ namespace TIAMSharedUI.Pages
|
|||
var user = await userDataService.IsLoggedInAsync(myId);
|
||||
SaveToSessionInfo(user);
|
||||
user.UserType = UserType.Admin;
|
||||
navManager.NavigateTo("index");
|
||||
navManager.NavigateTo("/");
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -241,7 +241,7 @@
|
|||
void SendMail(Transfer item)
|
||||
{
|
||||
_logger.Info($"Sending mail to {item.ContactEmail}, {item.Id}");
|
||||
|
||||
_messageWizardModel.ReceiverId = item.UserId;
|
||||
_messageWizardModel.ContextId = item.Id;
|
||||
_messageWizardModel.SenderEmailAddress = "info@touriam.com";
|
||||
_messageWizardModel.ReceiverEmailAddress = item.ContactEmail;
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ using TIAMSharedUI.Resources;
|
|||
using TIAMWebApp.Shared.Application.Interfaces;
|
||||
using TIAMWebApp.Shared.Application.Utility;
|
||||
using TIAMSharedUI.Pages.Components;
|
||||
using TIAMWebApp.Shared.Application.Models.ClientSide;
|
||||
using Newtonsoft.Json;
|
||||
|
||||
namespace TIAMSharedUI.Shared.Components
|
||||
{
|
||||
|
|
@ -36,8 +38,8 @@ namespace TIAMSharedUI.Shared.Components
|
|||
[Inject]
|
||||
public IComponentUpdateService componentUpdateService { get; set; }
|
||||
|
||||
|
||||
|
||||
[Inject]
|
||||
private IUserDataService UserDataService { get; set; }
|
||||
|
||||
private bool enableLogin = true;
|
||||
private bool enableEvents = false;
|
||||
|
|
@ -46,7 +48,6 @@ namespace TIAMSharedUI.Shared.Components
|
|||
private bool enableApi = true;
|
||||
private bool enableChat = true;
|
||||
|
||||
|
||||
private bool collapseNavMenu = true;
|
||||
private bool myUser = false;
|
||||
private bool hasProperty = false;
|
||||
|
|
@ -78,11 +79,21 @@ namespace TIAMSharedUI.Shared.Components
|
|||
|
||||
}
|
||||
|
||||
private void SignOut()
|
||||
private async Task SignOut()
|
||||
{
|
||||
SecureStorageHandler.ClearAllSecureStorageAsync();
|
||||
bool serverResult;
|
||||
string userDetailsStr = await SecureStorageHandler.GetFromSecureStorageAsync(nameof(Setting.UserBasicDetails));
|
||||
if (!string.IsNullOrEmpty(userDetailsStr))
|
||||
{
|
||||
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
||||
serverResult = await UserDataService.Logout(userBasicDetail.RefreshToken);
|
||||
}
|
||||
|
||||
await SecureStorageHandler.ClearAllSecureStorageAsync();
|
||||
sessionService.User = null;
|
||||
sessionService.IsAuthenticated = false;
|
||||
navigationManager.NavigateTo("/");
|
||||
myUser = false;
|
||||
}
|
||||
|
||||
private void ThrowSomeError()
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@
|
|||
private ILogger _logger;
|
||||
|
||||
public PopupMessageBox PopupMessageBox { get; private set; } = default!;
|
||||
|
||||
|
||||
|
||||
protected override void OnInitialized()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -266,6 +266,34 @@ namespace TIAMWebApp.Client.Services
|
|||
return isTokenRefreshed;
|
||||
}
|
||||
|
||||
public async Task<bool> Logout(string refreshToken)
|
||||
{
|
||||
_logger.Info("Logout() called");
|
||||
|
||||
var url = $"{Setting.ApiBaseUrl}/{APIUrls.LogoutUser}";
|
||||
bool result = false;
|
||||
var response = await http.PostAsJsonAsync(url, refreshToken);
|
||||
if (response.IsSuccessStatusCode)
|
||||
{
|
||||
string resultMessage = await response.Content.ReadAsStringAsync();
|
||||
_logger.Detail($"Logout response: {resultMessage}");
|
||||
if(resultMessage == "OK")
|
||||
{
|
||||
result = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
result = false;
|
||||
}
|
||||
|
||||
_logger.Detail($"Logout: {result}");
|
||||
return result;
|
||||
}
|
||||
|
||||
/*public Task<Dictionary<int, string>> GetUserRolesAsync(UserModel userModel)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -76,12 +76,14 @@ namespace TIAMWebApp.Server.Controllers
|
|||
[AllowAnonymous]
|
||||
[HttpPost]
|
||||
[Route(APIUrls.LogoutUserRouteName)]
|
||||
public IActionResult LogoutUser()
|
||||
public async Task<IActionResult> LogoutUser([FromBody] string refreshToken)
|
||||
{
|
||||
_logger.Info(@"LogoutUser called");
|
||||
_logger.Info($"refreshtoken: {refreshToken}");
|
||||
_loginService.Logout();
|
||||
|
||||
//TODO: Implementálni a Logout-ot kliens és szerver oldalon is! - J.
|
||||
return new RedirectToActionResult(APIUrls.BaseUrlWithSlashAndVersion, null, null);
|
||||
return Ok("OK");
|
||||
}
|
||||
|
||||
[AllowAnonymous]
|
||||
|
|
|
|||
|
|
@ -31,5 +31,7 @@ namespace TIAMWebApp.Shared.Application.Interfaces
|
|||
public Task<UserModelDtoDetail?> GetUserDetailByIdAsync(Guid id);
|
||||
public Task<UserModelDto?> GetUserByEmailAsync(string email);
|
||||
Task<bool> RefreshToken();
|
||||
|
||||
public Task<bool> Logout(string refreshToken);
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue