just_google_jwt_decoder 0.1.3

Just Google JWT decoder #

A simple Google JWT decoder library for Dart with all necessary verifiers.

Usage #

import 'package:just_google_jwt_decoder/just_google_jwt_decoder.dart';

main() async {
  var clientId = '<CLIENT_ID>';
  var decoder = new GoogleJwtDecoder(clientId, expirationTolerance: const Duration(seconds: 30));
  
  var encodedJwt = new EncodedJwt('<HEADER.PAYLOAD.SIGNATURE>');
  var jwt = await decoder.convert(encodedJwt);
  
  print(jwt.payload);
}

Verification #

Library verifies following data:

  • If issuer is Google Accounts server
  • If user's email is verified
  • If JWT not expires
  • If audience is equal to Client ID
  • If signature is valid (automatically downloads certificates from Google servers and keep them in memory until they expires).

Get Google JWT #

You can obtain a Google JWT (a.k.a. idToken) with just_google_signin library.

Changelog #

0.1.0 #

  • Initial version

0.1.1 #

  • less restrictive dependency on quiver package (0.23.0 => 0.21.0).

0.1.2 #

  • library re-exports Jwt and EncodedJwt classes from JustJwt library.

0.1.3 #

  • library re-exports JwtVerificationError class from JustJwt library.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  just_google_jwt_decoder: ^0.1.3

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


import 'package:just_google_jwt_decoder/just_google_jwt_decoder.dart';
  
Popularity:
Describes how popular the package is relative to other packages. [more]
0
Health:
Code health derived from static analysis. [more]
--
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
--
Overall:
Weighted score of the above. [more]
0
Learn more about scoring.

The package version is not analyzed, because it does not support Dart 2. Until this is resolved, the package will receive a health and maintenance score of 0.

Analysis issues and suggestions

Support Dart 2 in pubspec.yaml.

The SDK constraint in pubspec.yaml doesn't allow the Dart 2.0.0 release. For information about upgrading it to be Dart 2 compatible, please see https://dart.dev/dart-2#migration.

Maintenance issues and suggestions

Make sure dartdoc successfully runs on your package's source files. (-10 points)

Dependencies were not resolved.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.16.0 <2.0.0

Admin