.NET CORE Wie validieren Sie ein JWT -Token mithilfe eines Schlüsselcloak -Zertifikats?C#

Ein Treffpunkt für C#-Programmierer
Anonymous
 .NET CORE Wie validieren Sie ein JWT -Token mithilfe eines Schlüsselcloak -Zertifikats?

Post by Anonymous »

Die Frontend verwendet KeyCloak , wodurch ein JWT Token generiert wird. Ich sende dieses Token in der Autorisierung Header an den Server. Die Frontend ist nicht in ASP.NET < /p>
Ich konnte Folgendes tun: < /p>
  • Extrahieren Sie das JWT -Token aus dem Kopfzeilen; oder

    Code: Select all

    X509Certificate2
    .
Jetzt habe ich sowohl ein Token als auch ein Zertifikat, aber ich weiß nicht, wie man den Token validieren. /> Oder gibt es andere Möglichkeiten, den von Keylock < /code>? {{{keyclockurl}}/realms/{{realm}}/protocol/openID-connect/certs . Holen Sie sich den Schlüssel mit "Verwendung": "sig" im Feld "x5c". Es gibt eine Kette von Zertifikaten in Form von Zeichenfolgen.List keyList = [];
foreach (var x5c in (dynamic)x5cList)
{
var _certificate = new X509Certificate2(Convert.FromBase64String(x5c.ToString()));
keyList.Add(new X509SecurityKey(_certificate));
}
< /code>

Jetzt können Sie diese Schlüssel in etoken Validationsparametern verwenden.var handler = new JwtSecurityTokenHandler();
try
{
var claims = handler.ValidateToken(token, tokenValidationParameters, out var validatedToken);
if (claims != null && validatedToken != null)
{
return true;
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
< /code>

Das Token wurde erfolgreich validiert < /li>
< /ol>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post