筆者接到一個舊專案,需要加入 JWT 解析,但是框架是使用年邁的 .NET Framework 3.5 (2007/11/20 發佈),經過一翻搜尋發現還好 Jwt.Net 套件支援以下版本:
- .NET Framework 3.5
- .NET Framework 4.0 ~ 4.8
- .NET Standard 1.3, 2.0
- .NET 6.0
安裝
先使用 NuGet 安裝 JWT 套件,或是使用 .NET CLI 執行以下指令安裝
dotnet add package JWT
程式碼
using JWT;
using JWT.Exceptions;
using JWT.Serializers;
try
{
var token =
"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IlJ1eXV0IiwiaWF0IjoxNTE2MjM5MDIyfQ.2MTxNbGboT6FCENz5_QVKIhEAbmFk_sQZ-spr4A4G90";
IJsonSerializer serializer = new JsonNetSerializer();
IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
IJwtDecoder decoder = new JwtDecoder(serializer, urlEncoder);
var json = decoder.Decode(token, verify: false);
Console.WriteLine(json);
// {"sub":"1234567890","name":"Ruyut","iat":1516239022}
}
catch (TokenExpiredException)
{
Console.WriteLine("Token has expired");
}
catch (SignatureVerificationException)
{
Console.WriteLine("Token has invalid signature");
}
留言
張貼留言
如果有任何問題、建議、想說的話或文章題目推薦,都歡迎留言或來信: a@ruyut.com