pharaoh_jwt_auth 1.0.0+2 copy "pharaoh_jwt_auth: ^1.0.0+2" to clipboard
pharaoh_jwt_auth: ^1.0.0+2 copied to clipboard

Pharaoh middleware that validates a JsonWebToken (JWT) and set the req.auth with the attributes

130/ 160
pub points
2
downloads

We analyzed this package 3 days ago, and awarded it 130 pub points (of a possible 160):

Partially passed report section
Follow Dart file conventions
30 / 30trigger folding of the section

Partially passed check 10/10 points: Provide a valid pubspec.yaml

Repository URL doesn't exist.

At the time of the analysis https://github.com/codekeyz/pharaoh/packages/pharaoh_jwt_auth was unreachable. Make sure that the website is reachable via HEAD requests.

Passed check 5/5 points: Provide a valid README.md

Passed check 5/5 points: Provide a valid CHANGELOG.md

Passed check 10/10 points: Use an OSI-approved license

Detected license: MIT.

Passed report section
Provide documentation
20 / 20trigger folding of the section

Passed check 10/10 points: 20% or more of the public API has dartdoc comments

72 out of 129 API elements (55.8 %) have documentation comments.

Some symbols that are missing documentation: pharaoh_jwt_auth.Audience.Audience.new, pharaoh_jwt_auth.Audience.Audience.one, pharaoh_jwt_auth.Audience.toJson, pharaoh_jwt_auth.ECDSAAlgorithm, pharaoh_jwt_auth.ECDSAAlgorithm.ECDSAAlgorithm.new.

Passed check 10/10 points: Package has an example

Failed report section
Platform support
20 / 20trigger folding of the section

Passed check 20/20 points: Supports 5 of 6 possible platforms (iOS, Android, Web, Windows, macOS, Linux)

  • ✓ Android

  • ✓ iOS

  • ✓ Windows

  • ✓ Linux

  • ✓ macOS

These platforms are not supported:

Package not compatible with platform Web

Because:

  • package:pharaoh_jwt_auth/pharaoh_jwt_auth.dart that imports:
  • package:pharaoh_jwt_auth/src/pharaoh_jwt_auth_base.dart that imports:
  • package:pharaoh/pharaoh.dart that imports:
  • package:pharaoh/src/shelf_interop/adapter.dart that imports:
  • package:pharaoh/src/router/router_handler.dart that imports:
  • package:pharaoh/src/http/response.dart that imports:
  • package:pharaoh/src/http/message.dart that imports:
  • dart:io

Failed check 0/0 points: WASM compatibility

Package not compatible with runtime wasm

Because:

  • package:pharaoh_jwt_auth/pharaoh_jwt_auth.dart that imports:
  • package:pharaoh_jwt_auth/src/pharaoh_jwt_auth_base.dart that imports:
  • package:pharaoh/pharaoh.dart that imports:
  • package:pharaoh/src/shelf_interop/adapter.dart that imports:
  • package:pharaoh/src/router/router_handler.dart that imports:
  • package:pharaoh/src/http/response.dart that imports:
  • package:pharaoh/src/http/message.dart that imports:
  • dart:io

This package is not compatible with runtime wasm, and will not be rewarded full points in a future version of the scoring model.

See https://dart.cn/web/wasm for details.

Partially passed report section
Pass static analysis
40 / 50trigger folding of the section

Partially passed check 40/50 points: code has no errors, warnings, lints, or formatting issues

INFO: The referenced identifier is a wildcard.

lib/src/pharaoh_jwt_auth_base.dart:17:9

   ╷
17 │     if (_ is! Iterable) return reject(_tokenNotFound);
   │         ^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/pharaoh_jwt_auth_base.dart

INFO: The referenced identifier is a wildcard.

lib/src/pharaoh_jwt_auth_base.dart:18:24

   ╷
18 │     final tokenParts = _.first.toString().split(' ');
   │                        ^
   ╵

To reproduce make sure you are using the lints_core and run dart analyze lib/src/pharaoh_jwt_auth_base.dart

Failed report section
Support up-to-date dependencies
20 / 40trigger folding of the section

Passed check 10/10 points: All of the package dependencies are supported in the latest version

Package Constraint Compatible Latest Notes
dart_jsonwebtoken any 3.3.0 3.3.0
pharaoh ^0.0.5+6 0.0.8+3 0.0.8+3
Transitive dependencies
Package Constraint Compatible Latest Notes
_fe_analyzer_shared - 85.0.0 90.0.0
adaptive_number - 1.0.0 1.0.0
analyzer - 7.7.1 8.3.0
args - 2.7.0 2.7.0
async - 2.13.0 2.13.0
boolean_selector - 2.1.2 2.1.2
build - 2.4.2 4.0.2
build_config - 1.1.2 1.2.0
build_daemon - 4.0.4 4.0.4
build_resolvers - 2.4.4 3.0.4 Discontinued
build_runner - 2.4.15 2.9.0
build_runner_core - 8.0.0 9.3.2 Discontinued
built_collection - 5.1.1 5.1.1
built_value - 8.12.0 8.12.0
checked_yaml - 2.0.4 2.0.4
cli_config - 0.2.0 0.2.0
clock - 1.1.2 1.1.2
code_builder - 4.11.0 4.11.0
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
coverage - 1.15.0 1.15.0
crypto - 3.0.6 3.0.6
dart_style - 3.1.1 3.1.2
dotenv - 4.2.0 4.2.0
ed25519_edwards - 0.3.1 0.3.1
ez_validator_dart - 0.3.1 0.3.1
file - 7.0.1 7.0.1
fixnum - 1.1.1 1.1.1
frontend_server_client - 4.0.0 4.0.0
get_it - 8.2.0 8.2.0
glob - 2.1.3 2.1.3
grammer - 1.0.3 1.0.3
graphs - 2.3.2 2.3.2
http - 1.5.0 1.5.0
http_multi_server - 3.2.2 3.2.2
http_parser - 4.1.2 4.1.2
io - 1.0.5 1.0.5
js - 0.7.2 0.7.2 Discontinued
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
matcher - 0.12.17 0.12.17
meta - 1.17.0 1.17.0
mime - 1.0.6 2.0.0
node_preamble - 2.0.2 2.0.2
package_config - 2.2.0 2.2.0
path - 1.9.1 1.9.1
pointycastle - 4.0.0 4.0.0
pool - 1.5.2 1.5.2
pub_semver - 2.2.0 2.2.0
pubspec_parse - 1.5.0 1.5.0
reflectable - 4.0.15 5.0.1
shelf - 1.4.2 1.4.2
shelf_packages_handler - 3.0.2 3.0.2
shelf_static - 1.1.3 1.1.3
shelf_web_socket - 3.0.0 3.0.0
source_map_stack_trace - 2.1.2 2.1.2
source_maps - 0.10.13 0.10.13
source_span - 1.10.1 1.10.1
spanner - 1.0.6 1.0.6
spookie - 1.0.2+3 1.0.2+3
sprintf - 7.0.0 7.0.0
stack_trace - 1.12.1 1.12.1
stemmer - 2.2.0 3.2.0
stream_channel - 2.1.4 2.1.4
stream_transform - 2.1.1 2.1.1
string_scanner - 1.4.1 1.4.1
term_glyph - 1.2.2 1.2.2
test - 1.26.3 1.26.3
test_api - 0.7.7 0.7.7
test_core - 0.6.12 0.6.12
timing - 1.0.2 1.0.2
typed_data - 1.4.0 1.4.0
uuid - 4.5.1 4.5.1
vm_service - 15.0.2 15.0.2
watcher - 1.1.4 1.1.4
web - 1.1.1 1.1.1
web_socket - 1.0.1 1.0.1
web_socket_channel - 3.0.3 3.0.3
webkit_inspection_protocol - 1.2.1 1.2.1
yaml - 3.1.3 3.1.3

To reproduce run dart pub outdated --no-dev-dependencies --up-to-date --no-dependency-overrides.

Passed check 10/10 points: Package supports latest stable Dart and Flutter SDKs

Failed check 0/20 points: Compatible with dependency constraint lower bounds

downgrade analysis failed failed with 3 errors:

  • NON_TYPE_AS_TYPE_ARGUMENT - lib/src/pharaoh_jwt_auth_base.dart:10:39 - The name 'JWTKey' isn't a type, so it can't be used as a type argument.
  • UNDEFINED_METHOD - lib/src/pharaoh_jwt_auth_base.dart:21:13 - The method 'tryDecode' isn't defined for the type 'JWT'.
  • NON_TYPE_IN_CATCH_CLAUSE - lib/src/pharaoh_jwt_auth_base.dart:27:10 - The name 'JWTException' isn't a type and can't be used in an on-catch clause.

Run dart pub downgrade and then dart analyze to reproduce the above problem.

You may run dart pub upgrade --tighten to update your dependency constraints, see dart.dev/go/downgrade-testing for details.

Analyzed with Pana 0.22.23, Dart 3.9.3.

Check the analysis log for details.

Weekly downloads

Display as:
By versions:
1
likes
130
points
2
downloads

Publisher

unverified uploader

Weekly Downloads

Pharaoh middleware that validates a JsonWebToken (JWT) and set the req.auth with the attributes

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

dart_jsonwebtoken, pharaoh

More

Packages that depend on pharaoh_jwt_auth