Skip to content
/ jwt Public
forked from corsac-dart/jwt

Lightweight implementation of JSON Web Tokens (JWT)

License

Notifications You must be signed in to change notification settings

paikka/jwt

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lightweight implementation of JSON Web Tokens (JWT).

Build Status codecov

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) - temporarily removed due to some dependencies not ready for Dart 2. See corsac-dart#2 for more details

Refer to documentation for more details.

License

BSD-2

About

Lightweight implementation of JSON Web Tokens (JWT)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Dart 100.0%