From 867a514d1f29b984e5fa449c946de23e1f5029eb Mon Sep 17 00:00:00 2001 From: Christopher Kolstad Date: Tue, 18 Apr 2023 10:42:32 +0200 Subject: [PATCH] feat: Added configurable signing algorithm to OIDC configuration (#3522) We've had requests from customers that use RS512 as the default signing algorithm in their OIDC server deployment. This PR adds that as a config variable to the OIDC form. --- .../admin/auth/OidcAuth/OidcAuth.tsx | 42 ++++++++++++++++++- frontend/src/openapi/models/_exportParams.ts | 23 +++++++++- .../src/openapi/models/bulkMetricsSchema.ts | 7 +++- .../openapi/models/bulkRegistrationSchema.ts | 14 ++++++- .../models/changeRequestDefaultEventSchema.ts | 11 +++++ .../changeRequestDefaultEventSchemaPayload.ts | 7 ++++ .../models/changeRequestEditTitleSchema.ts | 9 ++++ .../models/changeRequestFeatureSchema.ts | 2 + .../src/openapi/models/changeRequestSchema.ts | 1 + .../models/changeRequestStateSchema.ts | 1 + .../openapi/models/clientMetricsEnvSchema.ts | 12 +++++- .../models/clientMetricsEnvSchemaVariants.ts | 3 ++ .../src/openapi/models/edgeTokenSchema.ts | 6 +++ .../src/openapi/models/edgeTokenSchemaType.ts | 3 ++ frontend/src/openapi/models/featureSchema.ts | 2 +- .../src/openapi/models/featureTagSchema.ts | 14 +++++++ .../src/openapi/models/getEventsParams.ts | 7 +++- frontend/src/openapi/models/index.ts | 15 ++++++- .../src/openapi/models/oidcSettingsSchema.ts | 17 ++++++++ .../oidcSettingsSchemaDefaultRootRole.ts | 3 ++ ...dcSettingsSchemaIdTokenSigningAlgorithm.ts | 18 ++++++++ frontend/src/openapi/models/segmentSchema.ts | 7 ++++ frontend/src/openapi/models/tagSchema.ts | 5 +++ .../src/openapi/models/tagsBulkAddSchema.ts | 5 +++ frontend/src/openapi/models/tagsSchema.ts | 5 +++ .../openapi/models/toggleMaintenanceSchema.ts | 9 ++++ .../openapi/models/tokenStringListSchema.ts | 14 +++++++ .../src/openapi/models/updateTagsSchema.ts | 5 +++ .../models/validateEdgeTokensSchema.ts | 10 ----- .../validateEdgeTokensSchemaTokensItem.ts | 8 ---- .../models/validatedEdgeTokensSchema.ts | 14 +++++++ 31 files changed, 271 insertions(+), 28 deletions(-) create mode 100644 frontend/src/openapi/models/changeRequestDefaultEventSchema.ts create mode 100644 frontend/src/openapi/models/changeRequestDefaultEventSchemaPayload.ts create mode 100644 frontend/src/openapi/models/changeRequestEditTitleSchema.ts create mode 100644 frontend/src/openapi/models/oidcSettingsSchemaIdTokenSigningAlgorithm.ts create mode 100644 frontend/src/openapi/models/toggleMaintenanceSchema.ts create mode 100644 frontend/src/openapi/models/tokenStringListSchema.ts delete mode 100644 frontend/src/openapi/models/validateEdgeTokensSchema.ts delete mode 100644 frontend/src/openapi/models/validateEdgeTokensSchemaTokensItem.ts create mode 100644 frontend/src/openapi/models/validatedEdgeTokensSchema.ts diff --git a/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx b/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx index 0e2fbf75619..1e8bb0d494e 100644 --- a/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx +++ b/frontend/src/component/admin/auth/OidcAuth/OidcAuth.tsx @@ -1,8 +1,12 @@ import React, { useContext, useEffect, useState } from 'react'; import { Button, + FormControl, FormControlLabel, Grid, + InputLabel, + MenuItem, + Select, Switch, TextField, } from '@mui/material'; @@ -30,6 +34,7 @@ const initialState = { discoverUrl: '', secret: '', acrValues: '', + idTokenSigningAlgorithm: 'RS256', }; export const OidcAuth = () => { @@ -244,7 +249,42 @@ export const OidcAuth = () => { setValue={setValue} /> - + + + ID Signing algorithm +

+ Which signing algorithm to use.
Leave this + alone unless you see errors that look like + "unexpected JWT alg received, expected RS256, got: + RS512" in your logs. +

+
+ + + + Signing algorithm + + + + +