Skip to content
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
Compare
Choose a tag to compare
@vamsii777 vamsii777 released this 01 Feb 09:51
· 6 commits to feature/openid since this release
caa5464

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 of userID, 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.