Release notes: (v6.2)
v3.7.0:
v3.6.1:
- Fix Google OAuth support
v3.6.0:
- Multiple authn context class refs can be set in the SAML protocol support
- For
Google2Client, change profile url fromhttps://www.googleapis.com/plus/v1/people/metohttps://www.googleapis.com/oauth2/v3/userinfo. This change is to prepare for the shutdown of Google plus API. This change will make thebirthdayattribute returnnullandemailsattribute resolve a single email fromemailattribute forGoogle2Client. - Clean shutdown of the
SAML2Clientvia thedestroymethod - Do not clear the ID Token as a sensitive data in the
OidcProfile - Improve signature and digest methods for SAML metadata
- Enhance OAuth 2 generic support
- Use the NameID as the fallback of the SessionIndex for the SAML SLO support
v3.5.0:
- Added
UserInfoOidcAuthenticatorto authenticate a user based on an access token received from an OpenID Connect login process - Updated the OpenID Connect/JWT dependencies (v6)
- Added
DirectBearerAuthClient - Handled the inResponseTo and the RelayState in the logout response (SAML)
- Added
trustedClassesto theJavaSerializationHelper
v3.4.0:
- Added ability to create a composition of authorizers (conjunction or disjunction)
- SAML SLO support with SOAP (ingoing only), HTTP-POST and HTTP-Redirect bindings
- OpenID Connect improvements: supports multiple JWS algorithms from the identity server, retrieves the Keycloak roles
v3.3.0:
- Improve SAML support: always return a default key which is a private one, add a SingleLogoutService URL in the SP metadata, make local and central logouts work together, allow attributes to be mapped to new names
- Default state generation can be overriden by your own
StateGeneratorfor the OAuth, OpenID Connect and SAML protocols - Custom OpenSAML bootstrapping in SAML authentication module
- X509 certificate support
v3.2.0:
- Allow to set the
profileIdfor theGenericOAuth20Client - Fixed the
setConfigurationmethod name in the OAuth v2.0 support - Optionally sign or specificy requested attributes in the SAML SP metadata
- Update to Scribejava v5.6.0
- Added support for HiOrg-Server (OAuth)
- Revised OAuth error handling for extracting user profiles. Now, an exception is thrown instead of returning an empty profile
- Fix the
Access-Control-Expose-Headersname and theAccess-Control-Allow-Credentialsheader verification
v3.1.0:
- Added attribute merging capabilities for the user profile: multiple attributes with the same name and value of the collection type can be merged into a single attribute
- Added Weibo, QQ and Wechat (OAuth) supports
v3.0.3:
AzureAdClientuses thePathParameterCallbackUrlResolverby default
v3.0.2:
- Properly handles all the HTTP codes in the
setResponseStatusmethod of theJ2EContext - Added the
setExcludedPathandsetExcludedPatternmethods to thePathMatcherclass (for Shiro)
v3.0.1:
- The
ProfileHelper.flatIntoOneProfilemethod returns anAnonymousProfile(instead of empty) if it’s the only profile
v3.0.0:
- Handle AJAX requests in the OpenID Connect logout
- All session interactions are done via the
SessionStore(retrieved from theWebContext) - All exceptions (especially
HttpAction) are unchecked - Upgraded dependencies
- Added “multi-tenancy” capabilities: you can dynamically define multiple callback URLs for the same client, except for SAML for which you need as many
SAML2Clientas the number of different callback URLs you want - The
CallbackUrlResolvercomputes the callback URL (using a query parameter or a path parameter to define the client), based on theUrlResolverwhich computes a URL - You can define an error (page) URL at the logics’ level to handle unexpected exceptions
- The SAML Keystore alias can be defined via a property; SAML date comparisons are now UTC-based
- The client name is not set at the credential’s level
- The username of the
AzureAdProfileis the UPN - The issue time is generated and an expiration date can be used for a JWT
- The OpenID Connect user profile can be expired
- In the
J2EContext, header names are checked in a case-insensitive way - Supports the
javax.faces.partial.ajaxparameter for AJAX requests - If only one client is defined in the configuration, it is used as a fallback on the security and callback endpoints
v2.3.1:
- Saving the profile in session can be disabled on the callback endpoint
v2.2.1:
- Improve SAML support: fix generated binding, handle AttributeConsumingServiceIndex in authentication request, add capability to add authentication-related attributes to the user profile with specific attributes added to the profile…
v2.1.0:
- Added Kerberos support
- Removed Stormpath support
- The password encoders and LDAP/SQL authenticators can be defined via properties through the
PropertiesConfigFactory - Supports CouchDB for authentication and user management
- REST API
Authenticator - In case of an unauthorized AJAX request, the redirection URL to the identity server is added as the
Locationheader to the 401 error - Allow passive authentication for SAML
v2.0.0:
- All clients are built using sub-components (
RedirectActionBuilder,CredentialsExtractor,Authenticator,ProfileCreatorandLogoutActionBuilder): theIndirectClientV2andDirectClientV2are renamed asIndirectClientandDirectClient(and the existingIndirectClientandDirectClientcomponents are removed) - The
LdapProfileService,DbProfileServiceandMongoProfileServicereplace the deprecatedLDapAuthenticator,DbAuthenticatorandMongoAuthenticatorto validate username/password and create, update or delete users in a LDAP, in a relational database and in a MongoDB database - A user profile can be linked to another user profile
- The
LogoutLogic(formerlyApplicationLogoutLogic) handles the application and identity provider logout - The
WebContextdirectly relies on theSessionStorewhose capabilities are upgraded to handle back-channel logout - The
AuthorizationGeneratortakes theWebContextas input and can return a new built profile - Using Spring framework
Resourcecomponents for SAML files/URLs - The session renewal is properly handled by clients (and especially CAS)
- Caches are backed via a
Storecomponent - Upgrade the OAuth support with Scribe v3.3 and rebuild all clients on the generic
OAuth10ClientandOAuth20Client - User profiles are simple POJOs, the
AttributesDefinitionis replaced by theProfileDefinition - CAS specificities (Kryo serialization,
toStringservice ticket validation) are handled via theInternalAttributeHandler - Authenticators may throw the checked
CredentialsException - Only two
PasswordEncoderwrappers are available: one for Spring Security Crypto, the other one for Shiro - Added new matcher
PathMatcherand deprecatedExcludedPathMatcher