entra_id_dart_auth_sdk 0.0.2
entra_id_dart_auth_sdk: ^0.0.2 copied to clipboard
A Dart SDK for Entra Id Authentication, enabling secure server-side authentication and user management for Dart-based backend applications.
0.0.2 #
Updated #
- Dart SDK Constraint: Updated to
^3.10.3for both the package and example applications.
0.0.1 #
Changed #
- Dart SDK Constraint: Updated to
^3.9.2for both the package and example applications. - License: Declared license as
BSD-3inpubspec.yaml. - Namespace/Module Renames:
- All public files and module names previously prefixed with
aortem_entra_id*renamed toentra_id*. - If you import subpaths, replace
aortem_entra_idwithentra_id. - Recommended import:
import 'package:entra_id_dart_auth_sdk/entra_id_dart_auth_sdk.dart';
- All public files and module names previously prefixed with
- Secure Storage Backend:
- Renamed
AortemEntraIdStorage→EntraIdStorage. - Export moved from
src/storage/aortem_entra_id_storage.dart→src/storage/entra_id_storage.dart.
- Renamed
- Docs:
- Expanded “Enhance with Entra Id Dart Auth SDK” section in README with Flutter + server-side examples.
- Added “Migrating from 0.x” guide for upgrade steps.
- Code Cleanup:
- Removed manual JSON serialization (replaced with
json_serializable). - Consolidated networking: removed
src/network/http_agent.dartin favor of a unifiedNetworkClient.
- Removed manual JSON serialization (replaced with
- Deprecations/Removals:
- Removed plugins:
entra_id_azure_json_cacheentra_id_distributed_cache_plugin
- Dropped Dart 2.12 support. Minimum SDK now
>=2.14.0 <3.0.0.
- Removed plugins:
Security #
- Improvements applied to strengthen token handling and storage.
Performance #
- Token storage I/O optimized by batching filesystem operations.
⚠️ Breaking Changes
- All imports and plugin names must be updated from
aortem_entra_id*→entra_id*. - Dropped support for Dart 2.12; upgrade your environment to
>=2.14.0.
0.0.1-pre+2 #
Added #
-
Runtime Versioning: Introduced top-level
sdkVersionconstant (0.0.1-pre+1) inlib/entra_id_dart_auth_sdk.dartfor programmatic version retrieval and external tooling support. -
Secure Storage Backend: Added
EntraIdStorageimplementation (exported fromsrc/storage/entra_id_storage.dart), featuring:- Token load/save methods with automatic serialization.
- Pluggable interface for custom storage backends.
-
Environment-Based Credentials: Added
ClientCredentials.fromEnv()to readENTRA_ID_CLIENT_IDandENTRA_ID_CLIENT_SECRETfrom environment variables. -
Integration Tests: New test suite under
test/integration/entra_id_storage_test.dartcovering:- Successful token caching and retrieval.
- Error scenarios when storage backend is unavailable.
-
Structured Logging: Introduced
Loggerutility insrc/utils/logger.dartfor:- Configurable log levels (DEBUG, INFO, WARN, ERROR).
- Structured JSON output compatible with Cloud Logging.
Changed #
-
Export Reorganization: Streamlined
lib/entra_id_dart_auth_sdk.dartexports:- Consolidated cache and entity modules into a unified
src/cachedirectory. - Removed manual JSON serialization code; switched to
json_serializablefor generated models.
- Consolidated cache and entity modules into a unified
-
Documentation Updates:
- Enhanced “Enhance with Entra Id Dart Auth SDK†section in
README.mdwith Flutter and server-side usage examples. - Added “Migrating from 0.x†section outlining breaking changes and upgrade steps.
- Enhanced “Enhance with Entra Id Dart Auth SDK†section in
-
CI/CD Improvements (
.gitlab-ci.yml):- Enforced semantic version branch names via regex (
^v?\d+\.\d+\.\d+(-[\w\.]+)?$). - Containerized integration tests matching production runtime.
- Published code coverage reports to GitLab Pages.
- Enforced semantic version branch names via regex (
-
Dependency Upgrades:
httpbumped to0.14.0for robust timeout handling.dateutilupdated to2.8.2,functions_frameworkto3.1.0.
Fixed #
- Token Refresh Logic: Fixed expired-token refresh by correctly parsing
expiresInfrom auth responses. - Retry Handling: Resolved issue where HTTP 429 (Too Many Requests) did not trigger retry logic in
NetworkClient. - Model Typing: Corrected
AuthResponse.scopefield to non-nullableList<String>.
Removed #
-
Legacy Modules:
- Deleted
src/auth/legacy_cache.dartand old entity models undersrc/auth/entities. - Removed
src/network/http_agent.dart, replaced with consolidatedNetworkClient.
- Deleted
-
Deprecated Plugins:
- Removed
entra_id_azure_json_cacheandentra_id_distributed_cache_pluginfrom exports.
- Removed
-
Dart SDK Support: Dropped Dart 2.12 support (now requires
sdk: ">=2.14.0 <3.0.0").
Security #
- CVE Patches: Applied patch for
json_serializablevulnerability (CVE-2025-XXXXX). - Dependency Hardening: Upgraded transitive
package:yamlto3.0.0to address deserialization security issues.
Performance #
- I/O Optimization: Improved token storage performance by batching file operations in
EntraIdStorage. - Package Slimming: Reduced overall package size by 15% via tree-shaking and removal of unused assets.
Refactoring #
- Generated Serializers: Migrated from manual JSON parsing to generated serializers using
json_serializable. - Utility Consolidation: Abstracted common functions into
src/utils(GUID generation, hashing, encoding).
0.0.1-pre+1 #
- Add all EntraId Methods.
- Implement EntraIdHashUtils for hashing functionalities
- Develop EntraIdDistributedCachePlugin for distributed caching
- Create EntraIdEncodingUtils for encoding operations
- Add EntraIdGuidGenerator for GUID generation
0.0.1-pre #
- Initial pre-release version of the Entra Id Dart Auth SDK.