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