CHANGELOG
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
3.10.0 - 10-09-2024
Added
- introduce
permissionscustom claim, which can be employed by other services to restrict the access to resources specified by the permissions granted to the user. By default the list of permissions is empty.
3.9.0 - 2024-03-25
Added
- IDP-858: expose provider id_token only for Microsoft provider with
/provider/idtokennew endpoint
3.8.0 - 2024-02-28
Feature
- add support to tls connection to redis
- add support to tls and authentication to redis sentinel
- IDP-500: refreshtoken endpoint deletes session cookies if refresh token cookie is not valid, added boolean env INVALID_REFRESH_TOKEN_WIPES_COOKIES to enable the feature
3.7.1 - 2024-01-08
Fixed
- add clearer error log when crud connection fails
3.7.0 - 08-11-2023
Added
- add prom metrics for http requests duration
3.6.1 - 2023-10-13
Fixed
- fix: MIA_JWT_TOKEN_SIGN_KEY is mandatory only when signing method is HS256
3.6.0 - 2023-10-13
Added
- Add support to asymmetric signing key with RS256 algorithm
3.5.0 - 2023-10-09
Fixed
- handle some unhandled errors in logout logic
Added
- migrate internal crud implementation to Mia-Platform Go Crud Library
- add support for Redis Sentinel
Updated
- update libs, fix breaking changes of golang-jwt and logrus
3.4.0 - 14-09-2023
Added
- Env var
STATE_MANAGER_EXPIRATION_TIME_MINUTESto control the duration of the state during login, registration and password reset flows.
3.3.0 - 28-06-2023
Added
- Support building of logout redirect endpoint of OIDC providers
Fixed
- Correctly unset
sidcookie andrefresh_tokencookie at logout, when customDomainand/orPathattributes are set.
3.2.0 - 06-06-2023
Added
- Set
refresh_tokencookie in/refreshtoken,/oauth/tokenand/logoutroutes
3.1.2 - 15-05-2023
Fixed
- Redis: Use
HSETinstead of deprecatedHMSET - Logout: correctly delete session from redis when using cookie sid; add warning logs when such key is not found in Redis
3.1.1 - 17-04-2023
Fixed
- logout api error management
3.1.0 - 17-04-2023
Added
-
- add metadata field on user collection
- add config key
customTokenClaimsthat allows to customize token claims and userinfo response contents with metadata fields andproviderUserId - replace unmaintained JWT library with forked version
- added user deactivation webhook for Okta
- configurable
sidcookieSameSiteandDomainattributes
Fixed
refreshtokengenerates an access token with the correctissuerspecified in the settings, rather than using theappId.
3.0.0 - 23-03-2023
BREAKING CHANGES
- rename env ADDITIONALS_CA_FOLDER to ADDITIONAL_CA_FOLDER
- rename defaultRedirectUrlOnSuccessfullLogin to defaultRedirectUrlOnSuccessfulLogin
- New required environment variable
REDIS_SESSION_SCOPEthat defines the scope of the service. It's necessary in order to distinguish items in a multi-tenant architecture. - add
issuerrequired field in app configuration to configure issuer at application level
Added
- When generated new access token, it is saved inside user queue on redis.
- New endpoint
DELETE-/sessions/:userIdthat deletes the references regarding for each access token associated to a user. - New endpoint
DELETE-/expired-sessions/:userIdthat deletes all expired tokens from the user queue in redis. Same endpoint with no userId provided deletes all expired tokens from all available users queue. - New optional environment variable
STORED_ACCESS_TOKEN_NUMBERthat indicates the maximum number of access tokens associated to a user that can be stored inside redis. The default is 10.
Fixed
- allowed redirect url matching should ignore the query string
2.8.2 - 06-03-2023
Fixed
- an empty redirect url is always allowed when the option
allowedRedirectUrlsOnSuccessfulLoginis specified - expose webhooks only when
EXPOSE_WEBHOOKSflag is true (this change is breaking but the feature is not in use for now)
2.8.1 - 03-03-2023
### Fixed
- added missing return statement after sending error to client in okta webhook
2.8.0 - 28-02-2023
Added
- Added option
authorizeStateRequired, that lets the client application define thestateparameter during authorization - Added option
allowedRedirectUrlsOnSuccessfulLogin, which allows only a predefined set of redirect urls that can be defined by the client
Fixed
- add "miauserid" to AdditionalHeadersToProxy env
- return 401, instead of 500, if token not found in redis
- use SameSite=Lax as default when sending a cookie to comply with browser defaults
- Refresh token does not check the provider userinfo when not needed
- Documented refresh token endpoint
2.7.1 - 03-11-2022
Fixed
- fix service config json schema (for oidcKeys) and docs
2.7.0 - 08-07-2022
Added
- BitBucket support
- Keycloak and generic provider support
Changed
- Moved
getTokensFromProviderResponsefunction to oidcProvider structure
2.6.0 - 25-05-2022
Added
- Microsoft authentication
2.5.0 - 21-03-2022
Added
- added user settings URL parameter
2.4.0 - 23-12-2021
Added
- inserted okta provider authorization
- Redis connection can receive username and password
2.3.0 - 17-09-2021
Added
- added support for App Provider label
2.2.1 - 05-07-2021
Fixed
- fix env vars panic
2.2.0 - 05-07-2021
Added
- proxied headers specified by env var in crud client calls
2.1.1 - 07-06-2021
Changed
- change log level in token and user info api without access token from error to debug.
2.1.0 - 19-05-2021
Added
- new login flow to support grant type
password. This feature is supported only forgitlabprovider.
2.0.3 - 02-03-2021
Updated
- update dependencies
2.0.2 - 15-02-2021
Updated
- update dependencies
Fixed
- disable html escape for log
2.0.1 - 02-12-2020
Updated
- Updated redis dependency, from this version redis 6 support is guaranteed.
2.0.0 - 05-10-2020
BREAKING CHANGE
- updated glogger v2.0.3 which brings new logging format potentially breaking for log processing stack
1.1.3 - 20-07-2020
Fixed
- refresh mia token with an empty refresh token now works correctly.
1.1.2 - 16-07-2020
Added
- add ADDITIONALS_CA_FOLDER env variables and handles custom ca certs inside this folder
1.1.1 - 10-07-2020
Fixed
- changed endpoint of providers:
/:appId/providers/-->/apps/:appId/providers. This is treated as a bugfix, but it's also a BREAKING CHANGES for the version 1.1.0.
1.1.0 - 08-07-2020
Added
- added
redirectquery parameter to login flow - new api to get provider list
- handle
redirectquery parameter on logout - add default redirect configuration for app on login success
1.0.0 - 17-06-2020
Added
- Add userinfo endpoint
- add status routes
- Add tokeninfo endpoint
- Add refresh token flow. Add variable in provider configuration to skip provider refresh token flow
- Generate refresh token
- Add login and logout by website handling sid cookie
- handle provider github