Skip to content

CCM-21858: APIM Auth module - #237

Open
simonlabarere wants to merge 20 commits into
mainfrom
feature/CCM-21858_apim_auth_module
Open

CCM-21858: APIM Auth module#237
simonlabarere wants to merge 20 commits into
mainfrom
feature/CCM-21858_apim_auth_module

Conversation

@simonlabarere

@simonlabarere simonlabarere commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Description

This PR is to create an APIM Authentication shared module contains all the components required for APIM authentication:

  • Public/private key generation including 28 day rotation (apim-key-generator scheduled to run daily)
  • Public key exposure (S3 bucket exposed via cloudfront)
  • Token generation (apim-access-token-refresher lambda running every 9 minutes)

The output of the module is the SSM parameter containing the APIM token that will be automatically refreshed every 9 minutes.

This PR also contains changes in order to:

  • Be able to add lambda developed in Typescript to TF modules
  • Run a TS linter, unit tests and typecheck as part of the PR pipeline
  • Compile TS lambdas into a dist folder before modules are archived as a zip as part of the release pipeline

The 2 lambdas and utils library have been copied directly from the Digital Letters BC.

Check https://github.com/NHSDigital/nhs-notify-deep-ping/pull/40 for test evidence.

Type of changes

  • Refactoring (non-breaking change)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would change existing functionality)
  • Bug fix (non-breaking change which fixes an issue)

Checklist

  • I am familiar with the contributing guidelines
  • I have followed the code style of the project
  • I have added tests to cover my changes
  • I have updated the documentation accordingly
  • This PR is a result of pair or mob programming

Sensitive Information Declaration

To ensure the utmost confidentiality and protect your and others privacy, we kindly ask you to NOT including PII (Personal Identifiable Information) / PID (Personal Identifiable Data) or any other sensitive data in this PR (Pull Request) and the codebase changes. We will remove any PR that do contain any sensitive information. We really appreciate your cooperation in this matter.

  • I confirm that neither PII/PID nor sensitive data are included in this PR and the codebase changes.

@simonlabarere
simonlabarere requested a review from a team as a code owner July 31, 2026 13:38
@gareth-allan gareth-allan self-assigned this Aug 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants