entra_id_dart_auth_sdk 0.0.1-pre+2
entra_id_dart_auth_sdk: ^0.0.1-pre+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.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
AortemEntraIdStorageimplementation (exported fromsrc/storage/aortem_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
aortem_entra_id_azure_json_cacheandaortem_entra_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
AortemEntraIdStorage. - 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 AortemEntraIdHashUtils for hashing functionalities
- Develop AortemEntraIdDistributedCachePlugin for distributed caching
- Create AortemEntraIdEncodingUtils for encoding operations
- Add AortemEntraIdGuidGenerator for GUID generation
0.0.1-pre #
- Initial pre-release version of the Entra Id Dart Auth SDK.