搜索插件、代码仓与 APP 分类

插件详情v1.1.6

jwt_io

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

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
2000
喜欢数
20
Pub 分数
150

安装插件

flutter pub add jwt_io

插件介绍

基于插件公开信息、社区数据与项目使用情况整理的选型参考。

jwt_io 是一个用于根据 RFC 7519 标准对 JSON Web Tokens (JWT) 进行编码、解码和验证的 Flutter/Dart 包。它通过提供生成签名令牌和验证其完整性的工具,实现各方之间安全地传输声明。该包支持 Android、iOS、Web、macOS、Windows 和 Linux 等多个平台,非常适合需要身份验证或授权的跨平台应用程序。它可通过 pub.dev 与 Flutter 项目无缝集成。

适合场景

  • 用户身份验证
  • API令牌验证
  • 安全数据交换
  • 会话管理
  • 授权工作流
  • 令牌过期处理

主要特点

  • 符合 RFC 7519
  • 支持签名和验证
  • 跨平台兼容性
  • 与 Flutter 的轻松集成
  • 轻便且快速
  • 处理令牌过期检查

适合对象

  • 认证系统
  • 安全的API通信
  • 移动和网页应用
  • 后端服务集成
  • 基于令牌的访问控制
  • 需要无状态会话的应用程序

使用建议

  • 需要妥善管理密钥
  • 不处理令牌刷新逻辑
  • 无内置令牌存储
  • 必须与安全存储实践一起使用
  • 仅限 JWT 特定操作
  • 不适合复杂的身份协议

原始 README

以下为关联源码仓库的 README 原文快照,最新内容请访问源码仓库。

JWT_IO

pub build coverage license

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

JWT_IO allows you to decode, verify and generate JWT.

Getting Started

Decode a token
main () {
  String yourToken = "Your JWT";
  Map<String, dynamic> decodedToken = JwtToken.payload(yourToken);

  /*
  If the token has a valid format, you will get a Map<String, dynamic>
  Your decoded token can look like:
  {
     "sub": "1234567890",
     "name": "John Doe",
     "iat": 1516239022,
  }
  */
}
Know if the token is expired
main () {
  String yourToken = "Your JWT";
  bool hasExpired = JwtToken.isExpired(yourToken);

  // You will get a true / false response
  // true: if the token is already expired
  // false: if the token is not expired
}
Get expiration date
main () {
  String yourToken = "Your JWT";
  DateTime expirationDate = JwtToken.getExpirationDate(token);

  // 2025-01-13 13:04:18.000
  print(expirationDate);
}
You can know how old your token is
// Token payload must include an 'iat' field
main () {
  String yourToken = "Your JWT";
  Duration tokenTime = JwtToken.getTokenTime(token);

  // 15
  print(tokenTime.inDays);
}

所属分类

源码仓库

使用此插件的项目

暂无相关数据。