diff --git a/.gitignore b/.gitignore index 8777d1f..6020484 100644 --- a/.gitignore +++ b/.gitignore @@ -59,3 +59,4 @@ build/ /pom.xml.versionsBackup /jap-mfa/pom.xml.versionsBackup /docs/bin/codecov.sh +/jap-ids/pom.xml.versionsBackup diff --git a/CHANGELOGS.md b/CHANGELOGS.md new file mode 100644 index 0000000..8b11ad7 --- /dev/null +++ b/CHANGELOGS.md @@ -0,0 +1,113 @@ +## v1.0.1-alpha(2021-03-02)(Unpublished) + +### jap-core + +#### New features + +- Add `JapErrorCode` enumeration class to manage exception codes and exception prompts +- Add `JapResponse` class to standardize interface return content +- Add `JapTokenHelper` class to manage user tokens uniformly +- Add `JapContext` class to maintain jap context information +- Add `JapAuthentication` class, unified management of login status information and jap context information + +#### Modified + +- Package structure + - Move `AuthenticateConfig`, `JapConfig` to `com.fujieid.jap.core.config` package + - Move `JapUtil` to `com.fujieid.jap.core.util` package +- delete + - Delete `JapCacheContextHolder` + - Delete `JapUserStoreContextHolder` +- Code + - Refactored `AbstractJapStrategy`, introduced `JapContext` and `JapAuthentication` classes + - Refactor the `JapConfig` class, only retain the `sso` and `ssoConfig` attributes, and add the `tokenExpireTime` + and `cacheExpireTime` attributes at the same time + - Modify the default validity period of the cache in `JapCacheConfig` to 7 days + - Modify the default content in the `JapUserService` interface class + - Add the `void remove key( string key)` method to `JapCache` + - Add `errorCode` and `errorMessage` attributes in `JapException` to facilitate the processing of exception + information into unified format return data + - Add the `token` attribute to `JapUser`, and the jap token will be automatically returned after login + - In the `JapStrategy` interface, the return type of the `authenticate` method is changed to `JapResponse`, and the + strategy methods of all modules return data in a unified format + - Mark the `redirect` method with `@Deprecated` in the `JapUtil` class, and it may be deleted in the future. At the + same time add the `createToken` method + +### jap-oauth2 + +- Modify the `authenticate` method of `Oauth2Strategy` to return` JapResponse` + +### jap-oidc + +- Modify the `authenticate` method of `OidcStrategy` to return` JapResponse` + +### jap-simple + +- Modify the `authenticate` method of `SimpleStrategy` to return` JapResponse` + +### jap-social + +- Modify the `authenticate` method of `SocialStrategy` to return` JapResponse` + +### jap-sso + +- Modify the return value of the `JapSsoHelper#login` method to the jap token of the current user +- Add `JapSsoUtil` +- In the `japSsoConfig` class, delete the `login url` and `logout url` attributes + +### Other + +- Add some unit tests + +## v1.0.0(2021-02-18) + +### New features + +- added `jap-mfa` module to realize TOTP verification +- The `logout` method is added to the `JapUserStoreContextHolder` to support clearing cookies and sessions +- added test cases + +### Modified + +- Updated `jap.sh`, support a variety of common commands +- The `options` attribute in `JapConfig` is deleted, and the `justathConfig` attribute is added to `SocialConfig` +- Change the name of `RemberMeDetailsUtils` to `RembermeUtils` +- Move the `Oauth2Strategy#checkOauthConfig()` and `Oauth2Strategy#isCallback()` to the `Oauth2Util` + +### Other + +- Improved code +- Reconstruct the `SimpleConfig`, and move the unnecessary configuration items and business logic to + the `RememberMeUtils` + +## v1.0.0-alpha.1(2021-02-01) + +### New features + +- Add cache module `com.fujieid.jap.core.cache.JapCache` +- Add 'state' verification logic in `jap-oauth2` +- Add some `package-info.java` + +### Modified + +- Revision notes +- To solve the problem that 'codeverifier' in 'pkceutil' can only be cached locally +- Upgrade `simple-json` to `0.0.2` + +### other + +- Fix Javadoc compilation failure + +## 1.0.0-alpha(2021-01-28) + +JA Plus(JAP) is an open source authentication middleware, it is highly decoupled from business code and has good +modularity and flexiblity. Developers could integrate JAP into web applications effortlessly. + +## Completed + +- [login of username-password](https://justauth.plus/quickstart/jap-simple.html) +- [login of Social](https://justauth.plus/quickstart/jap-social.html) +- [login of OAuth 2.0](https://justauth.plus/quickstart/jap-oauth2.html) +- [login of oidc](https://justauth.plus/quickstart/jap-oidc.html) +- [SSO](https://justauth.plus/quickstart/jap-sso.html) + diff --git a/README.md b/README.md index a408f87..f83667c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@

- + diff --git a/docs/bin/version.txt b/docs/bin/version.txt index 7dea76e..1a15c9e 100644 --- a/docs/bin/version.txt +++ b/docs/bin/version.txt @@ -1 +1 @@ -1.0.1 +1.0.1-alpha diff --git a/pom.xml b/pom.xml index 3745359..9b2062b 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ com.fujieid jap - 1.0.1 + 1.0.1-alpha pom jap @@ -61,6 +61,7 @@ 2.20 1.6 false + true 2.7 0.8.6 @@ -98,6 +99,12 @@ ${mockito.version} test + + org.slf4j + slf4j-api + 1.7.22 + test + @@ -145,6 +152,12 @@ ${hutool.version} + + org.bitbucket.b_c + jose4j + ${jose4j.version} + + javax.servlet