C#JWT検証

システムを使用しました。
System.Collections.Genericを使用しました。
System.Linqのを使用しました。
System.Textのを使用しました。
System.Threading.Tasksを使用しました。
System.Threadingを使用しました。
JWTを使用しました。
Newtonsoft.Jsonを使用しました。

名前空間ConsoleApplication39
{
クラスプログラム
{
静的な無効メイン(文字列[] args)
{
UU U =新しいUU(){IAEを= "AA"、Inat = "BB"、MMEは= "CC"}。
文字列トークン=新しいAA()入手トークン(U)。
UU新しいAA = W()GetUU(トークン)。
Console.Read();
}
}
クラスAA
{
//密钥
キー= "glawefof"プライベート文字列;
パブリック文字列入手トークン(UU U)
{
JWT.Algorithms.IJwtAlgorithmアルゴリズム=新しいJWT.Algorithms.HMACSHA256Algorithm()。
JWT.IJsonSerializer JSON =新しいJS();
JWT.IBase64UrlEncoder Base64で=新しいJWT.JwtBase64UrlEncoder();

JwtEncoder EN =新しいJwtEncoder(アルゴリズム、JSON、Base64で);
バイト[] keyBytes = Encoding.UTF8.GetBytes(キー)。
en.Encode(U、keyBytes)を返します。
}

公共UU GetUU(文字列トークン)
{
IJsonSerializer JS =新しいJS()。
IJwtValidatorバリデータ=新しいJwtValidator(JS、新しいJWT.UtcDateTimeProvider());
JWT.IBase64UrlEncoder Base64で=新しいJWT.JwtBase64UrlEncoder();
JwtDecoder EN =新しいJwtDecoder(JS、バリ、Base64で);
en.DecodeToObject <UU>(トークン)を返します。
}
}
クラスUU
{
パブリック文字列MME {得ます。セット; }
パブリック文字列Inat {得ます。セット; }
パブリック文字列IAE {得ます。セット; }
}

クラスJS:JWT.IJsonSerializer
{
パブリックTデシリアライズ<T>(文字列JSON)
{
JsonConvert.DeserializeObject <T>(JSON)を返します。
}

パブリック文字列シリアライズ(オブジェクトobj)
{
(OBJ)JsonConvert.SerializeObjectを返します。
}
}
}

おすすめ

転載: www.cnblogs.com/luchaobooks/p/10953927.html