zoukankan      html  css  js  c++  java
  • .net core webapi

    JWT身份认证

     加密

    UserAuthModel userAuthModel = new UserAuthModel()
    {
    id = Guid.NewGuid().ToString(),
    userName = userName,
    loginTime = DateTime.Now
    };
    IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
    IJsonSerializer serializer = new JsonNetSerializer();
    IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
    IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder);
    var token = encoder.Encode(userAuthModel, "jjf12554");

    解密

    var token = context.HttpContext.Request.Headers["token"];
    if (token == "")
    {
    throw new NotImplementedException();
    }
    try
    {
    IJsonSerializer serializer = new JsonNetSerializer();
    IDateTimeProvider provider = new UtcDateTimeProvider();
    IJwtValidator validator = new JwtValidator(serializer, provider);
    IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
    IJwtDecoder decoder = new JwtDecoder(serializer, validator, urlEncoder);
    var json = decoder.Decode(token, "jjf12554", verify: true);//token为之前生成的字符串
    UserAuthModel userAuthModel = (UserAuthModel)JsonConvert.DeserializeObject<UserAuthModel>(json);
    Console.WriteLine(json);
    }
    catch (TokenExpiredException)
    {
    Console.WriteLine("Token has expired");
    }

    缓存类

  • 相关阅读:
    【转】Shell编程基础篇-上
    【转】inotify+rsync实现实时同步
    Spring
    jdk,jre,tommcat配置问题
    Java前后台开发
    前端组件学习(一)
    报表工具进阶(二)
    查询时异步刷新问题--用到了ajax
    学习jaspersoft/JasperReport
    利用SQLYog操作数据库mysql
  • 原文地址:https://www.cnblogs.com/zhaocha/p/9242097.html
Copyright © 2011-2022 走看看