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

1
likes
120/ 160
pub points
0
downloads

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

failed
Follow Dart file conventions
20 / 30trigger folding of the section

0/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.

5/5 points: Provide a valid README.md

5/5 points: Provide a valid CHANGELOG.md

10/10 points: Use an OSI-approved license

Detected license: MIT.

OK
Provide documentation
20 / 20trigger folding of the section

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

63 out of 104 API elements (60.6 %) have documentation comments.

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

10/10 points: Package has an example

failed
Platform support
20 / 20trigger folding of the section

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

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.dev/web/wasm for details.

partial
Pass static analysis
40 / 50trigger folding of the section

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
Support up-to-date dependencies
20 / 40trigger folding of the section

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

Package Constraint Compatible Latest
dart_jsonwebtoken any 2.14.2 2.14.2
pharaoh ^0.0.5+6 0.0.8+3 0.0.8+3
Transitive dependencies
Package Constraint Compatible Latest
_fe_analyzer_shared - 76.0.0 78.0.0
_macros - 0.3.3 0.3.3
adaptive_number - 1.0.0 1.0.0
analyzer - 6.11.0 7.1.0
args - 2.6.0 2.6.0
async - 2.12.0 2.12.0
boolean_selector - 2.1.2 2.1.2
build - 2.4.2 2.4.2
build_config - 1.1.2 1.1.2
build_daemon - 4.0.3 4.0.3
build_resolvers - 2.4.3 2.4.3
build_runner - 2.4.13 2.4.14
build_runner_core - 7.3.2 8.0.0
built_collection - 5.1.1 5.1.1
built_value - 8.9.3 8.9.3
checked_yaml - 2.0.3 2.0.3
clock - 1.1.2 1.1.2
code_builder - 4.10.1 4.10.1
collection - 1.19.1 1.19.1
convert - 3.1.2 3.1.2
coverage - 1.11.1 1.11.1
crypto - 3.0.6 3.0.6
dart_style - 2.3.7 3.0.1
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.0.3 8.0.3
glob - 2.1.2 2.1.2
grammer - 1.0.3 1.0.3
graphs - 2.3.2 2.3.2
http - 1.2.2 1.2.2
http_multi_server - 3.2.2 3.2.2
http_parser - 4.1.1 4.1.1
io - 1.0.5 1.0.5
js - 0.7.1 0.7.1
json_annotation - 4.9.0 4.9.0
logging - 1.3.0 1.3.0
macros - 0.1.3-main.0 0.1.3-main.0
matcher - 0.12.17 0.12.17
meta - 1.16.0 1.16.0
mime - 1.0.6 2.0.0
node_preamble - 2.0.2 2.0.2
package_config - 2.1.1 2.1.1
path - 1.9.1 1.9.1
pointycastle - 3.9.1 3.9.1
pool - 1.5.1 1.5.1
pub_semver - 2.1.5 2.1.5
pubspec_parse - 1.4.0 1.4.0
reflectable - 4.0.12 4.0.12
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 - 2.0.1 2.0.1
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.5 1.0.5
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 2.2.0
stream_channel - 2.1.3 2.1.3
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.25.14 1.25.14
test_api - 0.7.4 0.7.4
test_core - 0.6.8 0.6.8
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.0 15.0.0
watcher - 1.1.1 1.1.1
web - 1.1.0 1.1.0
web_socket - 0.1.6 0.1.6
web_socket_channel - 3.0.1 3.0.1
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.

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

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.17, Dart 3.6.0.

Check the analysis log for details.

1
likes
120
points
0
downloads

Publisher

unverified uploader

Weekly Downloads

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

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (license)

Dependencies

dart_jsonwebtoken, pharaoh

More

Packages that depend on pharaoh_jwt_auth