搜尋分類、套件與程式碼儲存庫

套件詳情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 項

原始碼儲存庫

使用此套件的專案

暫無相關資料。