From 14a65070dc6fe281f60452e612057dab4975a905 Mon Sep 17 00:00:00 2001 From: Daniel Doynov Date: Fri, 9 Dec 2022 13:00:49 +0000 Subject: [PATCH] fix: add openid-configuration endpoint --- integration-tests/server.test.ts | 16 ++++++++++++++++ src/server/server.ts | 8 ++++++++ 2 files changed, 24 insertions(+) diff --git a/integration-tests/server.test.ts b/integration-tests/server.test.ts index 98d3561e..83de3487 100644 --- a/integration-tests/server.test.ts +++ b/integration-tests/server.test.ts @@ -126,4 +126,20 @@ describe("HTTP server", () => { }); }); }); + + describe("OpenId Configuration Endpoint", () => { + it("responds with open id configuration", async () => { + const server = createServer(jest.fn(), MockLogger as any); + + const response = await supertest(server.application).get( + "/any-user-pool/.well-known/openid-configuration" + ); + expect(response.status).toEqual(200); + expect(response.body).toEqual({ + id_token_signing_alg_values_supported: ["RS256"], + jwks_uri: `http://localhost:9229/any-user-pool/.well-known/jwks.json`, + issuer: `http://localhost:9229/any-user-pool`, + }); + }); + }); }); diff --git a/src/server/server.ts b/src/server/server.ts index e6e8afab..a662bd69 100644 --- a/src/server/server.ts +++ b/src/server/server.ts @@ -55,6 +55,14 @@ export const createServer = ( }); }); + app.get("/:userPoolId/.well-known/openid-configuration", (req, res) => { + res.status(200).json({ + id_token_signing_alg_values_supported: ["RS256"], + jwks_uri: `http://localhost:9229/${req.params.userPoolId}/.well-known/jwks.json`, + issuer: `http://localhost:9229/${req.params.userPoolId}`, + }); + }); + app.get("/health", (req, res) => { res.status(200).json({ ok: true }); });