Encode and Decode JSON Web Token(JWT) using pem file for .NET
If you want to encode/decode JWT using pem file in .NET, hope this library would get you a easy start.
This library is build base on jose-jwt and BouncyCastle.
How to install
Install-Package PemJwt
How to use
Encode
var privateKeyId = "keys/private/test.pem";
var claims = new Claims()
{
ExpireData = DateTime.Now.AddMinutes(1),
Payload = new Dictionary<string, object>()
{
{"hello","world" }
}
};
var jwt = PemJwt.JwtIssuer.Encode(claims, privateKeyId);
// use jwt here
Decode
var publicKeyId = "keys/public/test.pem";
var jwt = "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJoZWxsbyI6IndvcmxkIiwiZXhwIjoxNDkyMDc1Mzk2LCJpYXQiOjE0OTIwNzUzMzh9.PqhQJTjM9aCZxIsf2MmmfU-E0arP8447OTce55IRKYlxUFDOi4wtV7K76mA7PRZL4CPMzpBHo1zfKFG8U5arPpwDAQmwXZ692Unc9Zp8_4zfwQW348rClvQOWiDIWqcKrH9u5GrBOi6wQjPAxf8BeYJfX2iQYRmfXo8pPpHXWCQ";
var payload = PemJwt.JwtIssuer.Decode(jwt, publicKeyId);
// use payload here