搜索分类、插件与代码仓

插件详情v2.0.2

corsac_jwt

轻量级的 JSON Web Tokens (JWT) 实现。

AndroidiOSWebmacOSWindowsLinux
近 30 天下载
2.1万
喜欢数
29
Pub 分数
150

安装插件

flutter pub add corsac_jwt

插件介绍

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

Corsac JWT 是一个轻量级的 Dart 包,用于在 Flutter 应用中实现 JSON Web Tokens (JWT)。它提供了一种简单高效的方式来生成、验证和解码 JWT,非常适合安全的身份验证和授权工作流程。该包支持所有主要平台,包括 Android、iOS、Web、macOS、Windows 和 Linux。依赖项最少,API 设计清晰,可无缝集成到需要基于令牌的安全性的应用中。其对性能和正确性的关注确保了在客户端和服务器环境中可靠处理 JWT。

适合场景

  • 用户身份验证
  • 基于令牌的授权
  • 安全会话管理
  • API 请求签名
  • 无状态认证
  • 跨平台令牌处理

主要特点

  • 轻便且快速
  • 支持所有 Flutter 平台
  • 简单直观的 API
  • 强大的 JWT 验证
  • 无外部依赖
  • 全面的解码和编码

适合对象

  • 需要 JWT 的移动和网页应用
  • 开发人员优先考虑安全
  • 具有无状态身份验证需求的项目
  • 使用 REST API 的应用
  • 寻求最小化加密库的团队
  • Flutter 应用针对多个平台

使用建议

  • 需要手动处理令牌存储
  • 无内置的刷新令牌逻辑
  • 仅限 JWT 特定功能
  • 不适合复杂的加密操作
  • 取决于令牌生命周期的正确实现
  • 最好结合其他安全措施使用

原始 README

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

Lightweight implementation of JSON Web Tokens (JWT).

Usage

import 'package:corsac_jwt/corsac_jwt.dart';

void main() {
  var builder = new JWTBuilder();
  var token = builder
    ..issuer = 'https://api.foobar.com'
    ..expiresAt = new DateTime.now().add(new Duration(minutes: 3))
    ..setClaim('data', {'userId': 836})
    ..getToken(); // returns token without signature

  var signer = new JWTHmacSha256Signer('sharedSecret');
  var signedToken = builder.getSignedToken(signer);
  print(signedToken); // prints encoded JWT
  var stringToken = signedToken.toString();

  var decodedToken = new JWT.parse(stringToken);
  // Verify signature:
  print(decodedToken.verify(signer)); // true

  // Validate claims:
  var validator = new JWTValidator() // uses DateTime.now() by default
    ..issuer = 'https://api.foobar.com'; // set claims you wish to validate
  Set<String> errors = validator.validate(decodedToken);
  print(errors); // (empty list)
}

Supported signers:

  • HS256 (JWTHmacSha256Signer).
  • RS256 (JWTRsaSha256Signer)
  • ES256 (JWTEcdsaSha256Signer)

Refer to documentation for more details.

License

BSD-2

所属分类

依赖

依赖清单 4 项

源码仓库

使用此插件的项目

暂无相关数据。