zoukankan      html  css  js  c++  java
  • JWT生成token

    using JWT;
    using JWT.Algorithms;
    using JWT.Exceptions;
    using JWT.Serializers;
    using System;
    using System.Collections.Generic;

    namespace common
    {
    public class JWTHelper
    {
    public static string CreateJWT()
    {
    var payload = new Dictionary<string, object>
    {
    { "claim1", 0 },
    { "claim2", "claim2-value" }
    };
    const string secret = "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk";
    IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
    IJsonSerializer serializer = new JsonNetSerializer();
    IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
    IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder);
    var token = encoder.Encode(payload, secret);
    return token;
    }
    public static string DecodeJWT(string token)
    {
    const string secret = "GQDstcKsx0NHjPOuXOYg5MbeJ1XT0uFiwDVvVBrk";
    string result = "";
    try
    {
    IJsonSerializer serializer = new JsonNetSerializer();
    IDateTimeProvider provider = new UtcDateTimeProvider();
    IJwtValidator validator = new JwtValidator(serializer, provider);
    IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
    IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
    IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder, algorithm);

    result = decoder.Decode(token, secret, verify: true);
    }
    catch (TokenExpiredException)
    {
    Console.WriteLine("Token has expired");
    }
    catch (SignatureVerificationException)
    {
    Console.WriteLine("Token has invalid signature");
    }
    catch (Exception EX)
    {
    Console.WriteLine("Token has invalid signature");
    }
    return result;
    }
    }
    }

  • 相关阅读:
    stdin stdout stderr
    stat
    ssh-keyscan
    START TRANSACTION
    ssh-keygen
    ssh-agent
    ssh-add
    虚拟化之lxc
    Web 在线文件管理器学习笔记与总结(1)初始文件以及获取首层目录信息
    Java实现 LeetCode 97 交错字符串
  • 原文地址:https://www.cnblogs.com/zhang-wenbin/p/13043844.html
Copyright © 2011-2022 走看看