Flutter dart_jsonwebtoken(JWT)库使用

pub地址:

https://pub.flutter-io.cn/packages/dart_jsonwebtoken

使用说明:

著名的 javascript 库的 dart 实现jsonwebtoken

JSON Web 令牌是一种开放的行业标准 RFC 7519 方法,用于在两方之间安全地表示声明。

https://jwt.io允许您解码、验证和生成 JWT。

//创建一个 json 网络令牌
  final jwt = JWT(
    {
      'id': 123,
      'server': {
        'id': '3e4fc296',
        'loc': 'euw-2',
      }
    },
    audience: Audience.one('zhao'),
    issuer: 'zhaoge',
    jwtId: 'jwtidbs',
    subject: 'subject:趙哥',
  );   
  
  // 签名(默认使用 hs256 算法)
        var token = jwt.sign(SecretKey('zhaoge'),
        algorithm: JWTAlgorithm.HS384, expiresIn: Duration(milliseconds: 1000));    
         // Duration(milliseconds: 1000) 1000毫秒后到期
         print('签名令牌: $token');        //输出返回的令牌

          sleep(Duration(milliseconds: 1000));
        //延迟1000毫秒在验证 

  //验证
  try {
    var jg = JWT.verify(token, SecretKey('zhaoge'));
    print(jg.audience);
    print(jg.header);
    print(jg.issuer);
    print(jg.payload);
    print(jg.subject);
    print(jg.jwtId);
  } catch (e) {
    print(e);
    print(e.runtimeType == JWTUndefinedError);
  } finally {
    print('最后执行');
  }
THE END
喜欢就支持一下吧
点赞8 分享