This repository has been archived by the owner on Oct 29, 2024. It is now read-only.
1.1.0 Beta 4
Pre-release
Pre-release
OAuth 2.0 and OpenID Connect Enhancements - Version 1.1.0 Beta 4
Introducing further enhancements to the OAuth 2.0 and OpenID Connect implementation, focusing on security improvements, codebase optimizations, and support for modern asynchronous programming patterns.
🛠 Fixes and Enhancements
- Updated the representation of token string in JWTs to
jti
, aligning with JWT standards. - Enhanced access token generation logic in RefreshTokenHandler for improved security and efficiency.
- Expanded the userinfo endpoint functionality for better compliance with OpenID Connect specifications.
- Optimized UserInfoHandler to utilize
sub
instead ofuserID
, ensuring alignment with OpenID Connect. - Improved JWT signing process with the addition of private key identifier and updated private key retrieval mechanisms.
- Refactored OAuthUser class and related models to enhance code structure and remove deprecated protocols.
- Introduced new authorization error types and updated client validation logic for more robust error handling.
- Overhauled authorization code generation to include nonce parameter, significantly enhancing security against replay attacks.
- Updated Vapor framework dependency to the latest version, benefiting from performance and security improvements.
- Refined scope validation in token handlers and client validator for more precise access control.
- Transitioned OAuth models from classes to structs for better performance and safety.
- Updated DiscoveryDocument protocol, making certain properties optional to support more flexible configurations.
- Enhanced user information handling with the addition of an environment parameter and Address struct, improving user data management.
- Implemented key rotation and deletion methods in KeyManagementService, bolstering key management security.
- Updated KeyManagementService protocol to support storing different types of keys, enhancing flexibility and security.
- Integrated async/await programming model across key management and token generation processes, aligning with modern Swift concurrency patterns.
- Revised scopes property definition in AccessToken and RefreshToken, optimizing for better type safety and clarity.
This release represents a substantial advancement in the Vapor OAuth, with particular emphasis on security enhancements, adherence to standards, and the adoption of modern Swift programming paradigms.