zoukankan      html  css  js  c++  java
  • 学习jwt的简单使用

    install-package jwt

            protected void ButtonLogin_Click(object sender, EventArgs e)
            {
                var secret = "abc123";
                var exp = (DateTime.UtcNow.AddSeconds(10) - new DateTime(1970, 1, 1)).TotalSeconds;
                var payload = new Dictionary<string, object> {
                    {"Name",TextBoxName.Text },
                    { "Pwd",TextBoxPwd.Text },
                    { "exp",exp }
                };
                var algorithm = new HMACSHA256Algorithm();
                var jsonSerializer = new JsonNetSerializer();
                var urlEncoder = new JwtBase64UrlEncoder();
                var encoder = new JwtEncoder(algorithm, jsonSerializer, urlEncoder);
                var token = encoder.Encode(payload, secret);
                TextBox1.Text = token;
            }
            protected void Button1_Click(object sender, EventArgs e)
            {
                var secret = "abc123";
                var token = TextBox1.Text;
                try
                {
                    var algorithm = new HMACSHA256Algorithm();
                    var jsonSerializer = new JsonNetSerializer();
                    var dateTimeProvider = new UtcDateTimeProvider();
                    var jwtValidator = new JwtValidator(jsonSerializer, dateTimeProvider);
                    var urlEncoder = new JwtBase64UrlEncoder();
                    var decoder = new JwtDecoder(jsonSerializer, jwtValidator, urlEncoder, algorithm);
                    var json = decoder.Decode(token, secret, true);
                    Label1.Text = json;
                }
                catch (TokenExpiredException)
                {
                    Label1.Text = "过期";
                }
                catch (SignatureVerificationException)
                {
                    Label1.Text = "篡改";
                }
            }

  • 相关阅读:
    安装Windows 和 Linux双系统(vmware) Centos7
    Nginx
    rsync详细配置
    19、Squid代理服务器
    5、SAMBA服务二:配置实例
    5、SAMBA服务一:参数详解
    4、NFS
    1、网络基本配置
    Spring data mongodb使用
    win下MongoDB使用
  • 原文地址:https://www.cnblogs.com/mmclog/p/14167826.html
Copyright © 2011-2022 走看看