All notable changes to this project will be documented in this file.
- CIDM - 2399
- NPM audit fixes - updated to last version of adal-node (now deprected) , gulp will not be updated
- Update tests for clock_tolerance setting
- Update clock_tolerance setting
- CIDM-2176
- Add ability to be able to pass a _ga parameter into the outbound url generation mechanisms to facilitate cross site tracking
- CIDM-1982
- Add ability to suppress login screen if user already has a valid session on the identity provider
- CIDM-1865 - Fix to refreshing enrolments and storing them in claims
- CIDM-1468
- Retry failed B2C requests - only throw error after iteration limit is hit
- Upgrade openid-client to latest version
- NPM audit fixes
- CIDM-946
- Split large queries into chunks to prevent exceeding the max querystring size and prevent dynamics receiving a single large request
- CIDM-947
- Removed reference to odata.maxpagesize as this was restricting results to 500 records
- CIDM-587
- Update existing and add new tests
- Remove unused mappings
- Replace request with got
- Github workflow to push to npm on merge to master branch
- CIDM-513 - Split demo service into its own repo
- CIDM-518 - Upgrade to Hapi 19 compatibility
- CIDM-389 - Fix to pass correctly hashed state to cache drop function
- IDM-2625
- Addition of EnrolmentRequest read functionality
- Implement models directory with EnrolmentRequest model
- Npm audit fixes
- IDM-1980 - Add the state information from B2C to the authorisation error handler
- IDM-2135 - Fix to refreshing the token for the second time since registration
- IDM-1727 - Update entity path when getting cacheKey from request's state
- IDM-1919 - Add deactivateEnrolment functionality
- CPII-285 - Use existing cache record key if one exists
- CPII-285 - Use a random string for cache record key
- IDM-1789 - Fix to the creation of a fully qualified domain when redirecting
- Ensure that redirects after logging out are always to the same domain as the consuming service
- Set sameSite cookie policy to 'Lax' - https://www.owasp.org/index.php/SameSite
idm.dynamics.parseAuthzRoles
will not returnnull
if there are no roles - it will always return an object- Also will now deduplicate roles, orgs, enrolment statuses
idm.dynamics.createEnrolment
uses the native dynamics api- The signature has changed as a result
- No longer need to create role as "pending" before setting it to "complete" - can set to complete status straight away
idm.dynamics.readEnrolment
supports the retrieval of enrolments by serviceId- Also supports a flag to indicate whether to return all enrolments for a service - regardless of whether there is a service role associated with it
- The signature has changed as a result
idm.dynamics.readServiceEnrolment
supports handshake enrolments - enrolments without a service role- Parameter serves as flag to indicate whether to include them
- Remove readContactsEmployerLinks and readContactsAgentCustomerLinks in favour of readContactsAccountLinks
- By default, reads links of type: employee, agentCustomer and citizen but accepts overrides for types of roles queried
- Allows for easy enrolment of citizen accounts
- Updates to demo to suit the above
- Remove readContactIdFromB2cObjectId - No longer needed now that contact id is passed back in the token
- Add functionality to override scope
- Allows an access token to be passed back to the relying party
- Fix all npm audit vulnerabilities
- Added changelog.md
Packages updated to latest versions:
- openid-client
- gulp
- sonarqube-scanner
Allow array of serviceIds in dynamics.readServiceRoles
Only query active enrolments in dynamics.readEnrolment
Hash the state stored when sending a user to identity provider - If our state is massively long, it could cause an error in cosmos db - hash it so we know it will be short enough
Ensure backToPath is always a path on the app domain
If request is needed for the cache, force get request on redirect uri - ensures the correct cookies will be available to the request
Addition of dynamics.readContactsAgentCustomerLinks - Give service access to an 3rd party member service role - idm 671.3
Migrate javascript redirect snippet to external javascript file
Add option to pass request object to cache methods - makes it possible to use cookies for caching
Read service roles function to work with multiple service ids
Send more useful error message to error page in query string when error retrieving state on user's return
Identity App integration