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