Authentication fix
This commit is contained in:
parent
ae59dc8d15
commit
42dbf40f5a
|
|
@ -2,6 +2,7 @@
|
||||||
@using TIAMWebApp.Shared.Application.Interfaces
|
@using TIAMWebApp.Shared.Application.Interfaces
|
||||||
@using AyCode.Interfaces.StorageHandlers
|
@using AyCode.Interfaces.StorageHandlers
|
||||||
@using Microsoft.Extensions.Localization
|
@using Microsoft.Extensions.Localization
|
||||||
|
@using Microsoft.AspNetCore.Components.Authorization
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -99,7 +100,15 @@
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
<ul class="nav navbar-nav navbar-right">
|
<ul class="nav navbar-nav navbar-right">
|
||||||
|
<AuthorizeView>
|
||||||
|
<Authorized>
|
||||||
|
<li class="nav-item">
|
||||||
|
<NavLink class="nav-link" href="login">
|
||||||
|
Test
|
||||||
|
</NavLink>
|
||||||
|
</li>
|
||||||
|
</Authorized>
|
||||||
|
</AuthorizeView>
|
||||||
@if(enableLogin)
|
@if(enableLogin)
|
||||||
{
|
{
|
||||||
if (!myUser && enableLogin)
|
if (!myUser && enableLogin)
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,8 @@ namespace TIAMSharedUI.Shared.Components
|
||||||
serverResult = await UserDataService.Logout(userBasicDetail.RefreshToken);
|
serverResult = await UserDataService.Logout(userBasicDetail.RefreshToken);
|
||||||
}
|
}
|
||||||
await SecureStorageHandler.ClearAllSecureStorageAsync();
|
await SecureStorageHandler.ClearAllSecureStorageAsync();
|
||||||
await AuthStateProvider.GetAuthenticationStateAsync();
|
var result = await AuthStateProvider.GetAuthenticationStateAsync();
|
||||||
|
|
||||||
sessionService.User = null;
|
sessionService.User = null;
|
||||||
sessionService.IsAuthenticated = false;
|
sessionService.IsAuthenticated = false;
|
||||||
navigationManager.NavigateTo("/");
|
navigationManager.NavigateTo("/");
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,6 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
private readonly ISecureStorageHandler _localStorage;
|
private readonly ISecureStorageHandler _localStorage;
|
||||||
private readonly HttpClient _http;
|
private readonly HttpClient _http;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public CustomAuthStateProvider(ISecureStorageHandler localStorage, HttpClient http)
|
public CustomAuthStateProvider(ISecureStorageHandler localStorage, HttpClient http)
|
||||||
{
|
{
|
||||||
|
|
@ -28,30 +27,31 @@ namespace TIAMWebApp.Shared.Application.Services
|
||||||
AuthenticationState state = null;
|
AuthenticationState state = null;
|
||||||
if (!string.IsNullOrEmpty(userDetailsStr))
|
if (!string.IsNullOrEmpty(userDetailsStr))
|
||||||
{
|
{
|
||||||
|
|
||||||
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
|
||||||
|
|
||||||
//var handler = new JwtSecurityTokenHandler();
|
var userBasicDetail = JsonConvert.DeserializeObject<UserBasicDetails>(userDetailsStr);
|
||||||
//var jsontoken = handler.ReadToken(userBasicDetail?.AccessToken) as JwtSecurityToken;
|
|
||||||
var token = userBasicDetail?.AccessToken;
|
|
||||||
var identity = new ClaimsIdentity();
|
|
||||||
_http.DefaultRequestHeaders.Authorization = null;
|
|
||||||
|
|
||||||
if (!string.IsNullOrEmpty(token))
|
//var handler = new JwtSecurityTokenHandler();
|
||||||
{
|
//var jsontoken = handler.ReadToken(userBasicDetail?.AccessToken) as JwtSecurityToken;
|
||||||
identity = new ClaimsIdentity(ParseClaimsFromJwt(token), "jwt");
|
var token = userBasicDetail?.AccessToken;
|
||||||
_http.DefaultRequestHeaders.Authorization =
|
var identity = new ClaimsIdentity();
|
||||||
new AuthenticationHeaderValue("Bearer", token.Replace("\"", ""));
|
_http.DefaultRequestHeaders.Authorization = null;
|
||||||
}
|
|
||||||
|
|
||||||
var user = new ClaimsPrincipal(identity);
|
if (!string.IsNullOrEmpty(token))
|
||||||
state = new AuthenticationState(user);
|
{
|
||||||
|
identity = new ClaimsIdentity(ParseClaimsFromJwt(token), "jwt");
|
||||||
|
_http.DefaultRequestHeaders.Authorization =
|
||||||
|
new AuthenticationHeaderValue("Bearer", token.Replace("\"", ""));
|
||||||
|
}
|
||||||
|
|
||||||
NotifyAuthenticationStateChanged(Task.FromResult(state));
|
var user = new ClaimsPrincipal(identity);
|
||||||
|
state = new AuthenticationState(user);
|
||||||
|
|
||||||
|
NotifyAuthenticationStateChanged(Task.FromResult(state));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
state = new AuthenticationState(new ClaimsPrincipal());
|
state = new AuthenticationState(new ClaimsPrincipal());
|
||||||
|
NotifyAuthenticationStateChanged(Task.FromResult(state));
|
||||||
}
|
}
|
||||||
|
|
||||||
return state;
|
return state;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue