diana_auth 0.15.1
diana_auth: ^0.15.1 copied to clipboard
Authentication and authorization for the Diana framework: pluggable JWT, Basic and API-key strategies plus @Secured/@RolesAllowed route guards.
Changelog #
0.15.1 #
- Package metadata for pub.dev: MIT license, repository/documentation
links, topics, and an
example/. - Added a README; shorter pub.dev description;
dart formatapplied.
0.15.0 #
- RS256/JWKS verification in pure Dart:
RsaPublicKey(JWK + PEM),Rs256TokenVerifier(static keys) andJwksTokenVerifier(IdP endpoint with caching,kidrotation and stale-while-error). Same hardening as HS256. - Breaking:
TokenVerifier.verifyreturnsFutureOr<Map<String, Object?>>(sync implementations unaffected).
0.14.0 #
- Version bump only (kept in lockstep with the workspace).
0.13.0 #
- Version bump only (kept in lockstep with the workspace).
0.12.0 #
- Version bump only (kept in lockstep with the workspace).
0.11.0 #
- Version bump only (kept in lockstep with the workspace).
0.10.0 #
- Version bump only (kept in lockstep with the workspace).
0.9.0 #
- Version bump only (kept in lockstep with the workspace).
0.8.1 #
- JWT claim hardening: numeric
subaccepted, malformedsubrejects as 401; a present but non-numeric (or non-finite)exp/nbfnow rejects instead of crashing (500) or being silently skipped (fail-open).
0.8.0 #
- Version bump only (kept in lockstep with the workspace).
0.7.0 #
- Version bump only (kept in lockstep with the workspace).
0.6.0 #
- Version bump only (kept in lockstep with the workspace).
0.5.0 #
- Initial release: authentication and authorization for Diana (Spring Security analog).
AuthPrincipal, theAuthenticatorstrategy interface andAuthenticationMiddleware(strategy chain, principal stamping,WWW-Authenticatechallenges,authorizeMetadatagRPC seam).- Built-in strategies:
JwtAuthenticator(in-package HS256 viaHs256TokenVerifier, pluggableTokenVerifier,Hs256TokenSigner),BasicAuthenticator(UserStore),ApiKeyAuthenticator(ApiKeyValidator). SecuredGuard/RolesGuardbehind@Secured/@RolesAllowed.- The only Diana package depending on
package:crypto; never depends onpackage:grpc.