Eurynome Cloud 2.7.0.Beta4 released, fully upgraded to optimize the use of "SAS"

Eurynome Cloud is an enterprise-level microservice architecture and service capability development platform. The first version that fully embraces Spring Authorization Server, based on Spring Boot 2.6.6, Spring Cloud 2021.0.1, Spring Cloud Alibaba 2021.0.1.0, Spring Authorization Server 0.2.3, Nacos 2.0.4 and other latest versions, and follows the SpringBoot programming idea , highly modular and configurable. It has the functions of service discovery, configuration, fusing, current limiting, degradation, monitoring, multi-level cache, distributed transaction, workflow, etc.

Platform positioning

  • Build a mature, complete and comprehensive microservice architecture solution based on OAuth2 with front-end and back-end separation.
  • Designed and developed for enterprise-level applications and Internet applications, it not only takes into account the microservices of traditional projects, but also meets the needs of Internet application development, construction and rapid iteration.
  • The platform architecture is constructed using various emerging technologies or mainstream technologies in the field of microservices and surrounding areas, which is a powerful tool to help quickly cross the stage of architecture technology selection and research and exploration.
  • The code is concise and standardized, and the structure is reasonable and clear. It is a typical and comprehensive case of the development and application of new technologies, helping developers to learn and master emerging technologies.

[1], release background

On November 8, 2021, Spring officials have strongly recommended to use Spring Authorization Server to replace the outdated Spring Security OAuth2.0. On May 28, 2022, there are still two months before Spring Security OAuth2.0 ends its life cycle, so Spring Authorization Server is used to upgrade the existing Eurynome Cloud microservice architecture to deal with the problem of stopping maintenance of dependent components.

[2], the content of this update

  • Major update

    • [Upgrade] Spring Authorization Server version upgraded to version 0.2.3

    • [Upgrade] Spring Boot version upgrade to 2.6.6

    • [New] Based on the latest code calling method of Spring Authorization Server 0.2.3, refactor custom OAuth2 password mode

    • [New] Support for OAuth2 OIDC authentication mode, supplement the configuration operations related to front-end OIDC authentication

    • [New] In OAuth2 OIDC authentication mode, the corresponding /userinfo interface call support and client registration support

    • [New] OAuth2 Authorization Code PKCE authentication mode support

    • [New] In OAuth2 Client Credentials mode, Refresh Token is provided.

    • [New] In OAuth2 Client Credentials mode, the Scope permission is supported to authenticate the interface.

    • [New] Under the existing oauth2-sdk-authorization-server module, add the permission configuration function of the client Scope, and decouple it from the existing user permission system

    • [New] Custom Social Credentials authentication mode, support SMS verification code, WeChat applet, third-party application login

    • [Fix] In the OAuth2 OIDC authentication method, the /userinfo interface call is always 401.

    • [Fix] The custom Spring Authorization Server JPA storage mode parameter is lost, and the Scope setting is omitted, causing the /userinfo call to fail

    • [Fix] No AuthenticationProvider found for UsernamePasswordAuthenticationToken problem caused the user name to be unable to log in

    • [Fix] During the service startup process, due to the conflict between asynchronous operation and transaction operation, the JetCache data storage caused a concurrency exception

    • [Fix] Improve @Async annotation calling code to solve the code throwing exception caused by the difference between jdk automatic proxy and CGlib proxy

    • [Fix] Improve the basic operation code of OAuth2 to solve the problem that some configurations of Spring Authorization Server cannot be set to null values

    • [Fix] When Spring Cloud Bus publishes remote events, all event monitoring codes will receive data and cannot be processed according to the service Destination orientation.

    • [Optimization] Optimized SecurityGlobalExceptionHandler, supported the interception of error content in OIDC scenarios, and integrated it into the overall error system

    • [Optimize] EndpointProperties configuration, distinguish between urls and endpoints involved in the system to support more uses

    • [Optimization] Refactored and abstracted the policy event Event to normalize various operations that are heavily used mixing local time and remote events.

    • [Optimization] Normalize all Enum classes and provide constants for the front end in a unified way

    • [Optimization] Optimized OAuth2 application management front-end and back-end interaction related code and OpenApi documentation

  • other updates

    • Spring boot admin version upgrade to 2.6.4

    • Redisson version upgrade to 3.17.0

    • Antisamy version upgraded to 1.6.6

    • Fastjson version upgrade to 1.2.80

    • Okhttps version upgraded to 3.4.6

    • Bce-java-sdk version upgraded to 0.10.202

    • Alipay-sdk-java version upgrade to 4.22.75.ALL

    • Qiniu-java-sdk version upgrade to 7.9.5

    • Logback version upgrade to 1.2.11

  • Precautions for early adopters

    1. It is recommended to create a new directory and check out the Eurynome Cloud 2.7.0 branch code separately to prevent impact on existing code.

    2. There are major changes in the data table structure and Nacos. It is recommended to rebuild the library and re-import the Nacos configuration.

    3. MySQL database is supported, but has not been fully verified and tested. In order to avoid unnecessary problems, it is recommended to use PostgreSQL database directly.

    4. Herodotus Engine is an independent, compilable, component library-style project. For specific use, related component modules need to be introduced into other Spring Boot projects. The independent modules have been synchronized to the Maven central repository, and the Eurynome Cloud 2.7.0 branch code can be used directly. Of course, you can also check out the Herodotus Engine project first, and then use the Eurynome Cloud project after compiling.

    5. If you want to research, learn and understand the existing module code, you can visit the Herodotus Engine code base, address: [https://gitee.com/herodotus/herodotus-engine](https://gitee.com/herodotus/herodotus- engine)

  • friendly reminder:
    • This code release is a preview version for early adopters, please choose and use it carefully according to your actual needs!

Guess you like

Origin www.oschina.net/news/189874