Imam problem sa podesavanjem konfiguracije ASP.NET core aplikacije koja koristi SignalR biblioteku za komunikaciju sa svojim klijentima. Klijenti (Angular) treba da invokaju moje methode u SIgnalR Hub i da uz svaki request salju token koji ja treba da validiram. Za sada imam ovu seljacku varijantu gde imam metodu koja radi validaciju i pozivam je na pocetku svake metode u Hubu. Inace u pitanju je symetricni token, koristi se pfx fajl i password za dekodiranje tokena.
Metoda za validaciju trenutno izgleda ovako i smestena je u singleton klasi:
I nju onda koristim u Hub-u kao na primer:
Ali ubedjen sam da bi to trebalo da se konfigurise u servisu u Startup.cs sa onim service.addAuthentication medjutim ni jedan put mi nije prosla ta autorizacija, a nisam siguran ni kako pravilno bi trebalo da posaljem token sa FE. Ovako po seljacki kad se token prosledjuje kroz parametar funkcije, to radi...
Neko imao iskustva sa ovim?
Metoda za validaciju trenutno izgleda ovako i smestena je u singleton klasi:
Code:
public bool ValidateToken(string token)
{
var handler = new JwtSecurityTokenHandler();
try
{
var claimsPrincipal = handler.ValidateToken(
token,
new TokenValidationParameters
{
ValidAudience = Audience,
ValidIssuer = Issuer,
RequireSignedTokens = false,
TokenDecryptionKey = new X509SecurityKey(new X509Certificate2(PfxPath, Password))
},
out SecurityToken securityToken);
}
catch (Exception e)
{
Debug.WriteLine("token not valid, message: " + e.Message);
return false;
}
return true;
}
public bool ValidateToken(string token)
{
var handler = new JwtSecurityTokenHandler();
try
{
var claimsPrincipal = handler.ValidateToken(
token,
new TokenValidationParameters
{
ValidAudience = Audience,
ValidIssuer = Issuer,
RequireSignedTokens = false,
TokenDecryptionKey = new X509SecurityKey(new X509Certificate2(PfxPath, Password))
},
out SecurityToken securityToken);
}
catch (Exception e)
{
Debug.WriteLine("token not valid, message: " + e.Message);
return false;
}
return true;
}
I nju onda koristim u Hub-u kao na primer:
Code:
public void RegisterUserClient(string token)
{
bool validated = Auth.ValidateTokenAndGetID(token);
if (validated)
{
Debug.Write("Access token validated, user id: " + userID);
} else
{
throw new HubException("Token is not valid");
}
public void RegisterUserClient(string token)
{
bool validated = Auth.ValidateTokenAndGetID(token);
if (validated)
{
Debug.Write("Access token validated, user id: " + userID);
} else
{
throw new HubException("Token is not valid");
}
Ali ubedjen sam da bi to trebalo da se konfigurise u servisu u Startup.cs sa onim service.addAuthentication medjutim ni jedan put mi nije prosla ta autorizacija, a nisam siguran ni kako pravilno bi trebalo da posaljem token sa FE. Ovako po seljacki kad se token prosledjuje kroz parametar funkcije, to radi...
Neko imao iskustva sa ovim?
Potpis
rs.ceevee.com/nenad.curcic