From d83963cef30f2817fb630df4dff02f61224f24ea Mon Sep 17 00:00:00 2001 From: spastorelli Date: Mon, 17 Feb 2025 14:43:21 +0100 Subject: [PATCH] Add support to VA Okta integration to include claims from backend in VA token (#630) * Add support to VA Okta integration to include user claims from backend in VA token * Add lock file * Update bun lock after merge * Rename include_claims_in_va_token & change description of config toggle * Remove sanitizeJWTTokenClaims * Fix auth server id form id * Add changeset * review: rename enrich_session to include_claims * Re-commit bun lock after main merge * Re-commit bun lock after main merge --- .changeset/bright-flowers-remain.md | 5 + bun.lockb | Bin 377592 -> 383384 bytes integrations/va-okta/package.json | 2 +- integrations/va-okta/src/index.tsx | 436 +++++++++++++++++++--------- 4 files changed, 297 insertions(+), 146 deletions(-) create mode 100644 .changeset/bright-flowers-remain.md diff --git a/.changeset/bright-flowers-remain.md b/.changeset/bright-flowers-remain.md new file mode 100644 index 000000000..d085adc19 --- /dev/null +++ b/.changeset/bright-flowers-remain.md @@ -0,0 +1,5 @@ +--- +'@gitbook/integration-va-okta': minor +--- + +Add support to VA Azure integration to include claims from backend in VA token diff --git a/bun.lockb b/bun.lockb index 1465fe3ff7167f96a060a2353b837be47ed3d988..45556c30f1b9e93f7f2eea10c8a04d5dc57c3a18 100755 GIT binary patch delta 99206 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 delta 95959 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

LfG)7`+7EnXC=oS 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 wr~20C4;^iWQpty)>1vx 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 V=qODoyWL7b|2?@Wf6CRg{|BdsQdIx| diff --git a/integrations/va-okta/package.json b/integrations/va-okta/package.json index d5c342356..2ba705f18 100644 --- a/integrations/va-okta/package.json +++ b/integrations/va-okta/package.json @@ -6,7 +6,7 @@ "@gitbook/api": "*", "@gitbook/runtime": "*", "itty-router": "^4.0.14", - "@tsndr/cloudflare-worker-jwt": "2.3.2" + "@tsndr/cloudflare-worker-jwt": "3.1.3" }, "devDependencies": { "@gitbook/cli": "workspace:*", diff --git a/integrations/va-okta/src/index.tsx b/integrations/va-okta/src/index.tsx index 5928c12cb..9ca9eba8a 100644 --- a/integrations/va-okta/src/index.tsx +++ b/integrations/va-okta/src/index.tsx @@ -1,4 +1,4 @@ -import { sign } from '@tsndr/cloudflare-worker-jwt'; +import * as jwt from '@tsndr/cloudflare-worker-jwt'; import { Router } from 'itty-router'; import { IntegrationInstallationConfiguration } from '@gitbook/api'; @@ -18,13 +18,25 @@ type OktaRuntimeEnvironment = RuntimeEnvironment<{}, OktaSiteInstallationConfigu type OktaRuntimeContext = RuntimeContext; -type OktaSiteInstallationConfiguration = { +type OktaSiteInstallationBaseConfiguration = { client_id?: string; okta_domain?: string; client_secret?: string; }; -type OktaState = OktaSiteInstallationConfiguration; +type OktaSiteInstallationConfiguration = OktaSiteInstallationBaseConfiguration & { + okta_custom_auth_server?: OktaCustomAuthServerConfiguration; +}; + +type OktaCustomAuthServerConfiguration = { id: string } & Pick< + OktaCustomAuthServerDiscoveryData, + 'authorization_endpoint' | 'token_endpoint' +>; + +type OktaState = OktaSiteInstallationBaseConfiguration & { + include_claims: boolean; + okta_custom_auth_server_id?: string; +}; type OktaProps = { installation: { @@ -35,7 +47,33 @@ type OktaProps = { }; }; -export type OktaAction = { action: 'save.config' }; +type OktaTokenResponseData = { + access_token?: string; + refresh_token?: string; + token_type: 'Bearer'; + expires_in: number; +}; + +type OktaTokenResponseError = { + error: string; + error_description: string; +}; + +type OktaCustomAuthServerDiscoveryData = { + issuer: string; + authorization_endpoint: string; + token_endpoint: string; + userinfo_endpoint: string; + registration_endpoint: string; + jwks_uri: string; +}; + +export type OktaAction = + | { action: 'save.config' } + | { + action: 'toggle.include_claims'; + includeClaimsInVAToken: boolean; + }; const configBlock = createComponent({ componentId: 'config', @@ -45,19 +83,60 @@ const configBlock = createComponent { switch (action.action) { + case 'toggle.include_claims': + return { + ...element, + state: { + ...element.state, + include_claims: action.includeClaimsInVAToken, + }, + }; case 'save.config': const { api, environment } = context; const siteInstallation = assertSiteInstallation(environment); - const configurationBody = { + let oktaCustomServerInfo: OktaCustomAuthServerConfiguration | undefined; + + // When using a custom auth server fetch the OAuth endpoints from the discovery URL. + if (element.state.include_claims && element.state.okta_custom_auth_server_id) { + const customAuthServerDiscoveryURL = new URL( + `oauth2/${element.state.okta_custom_auth_server_id}/.well-known/openid-configuration`, + `https://${element.state.okta_domain}/`, + ); + const discoveryResp = await fetch(customAuthServerDiscoveryURL, { + method: 'GET', + }); + + if (!discoveryResp.ok) { + throw new ExposableError( + 'Error: The Okta custom auth server ID provided is invalid', + ); + } + const { authorization_endpoint, token_endpoint } = + await discoveryResp.json(); + + oktaCustomServerInfo = { + id: element.state.okta_custom_auth_server_id, + authorization_endpoint, + token_endpoint, + }; + } + + const configurationBody: OktaSiteInstallationConfiguration = { ...siteInstallation.configuration, client_id: element.state.client_id, client_secret: element.state.client_secret, okta_domain: element.state.okta_domain, + okta_custom_auth_server: element.state.include_claims + ? oktaCustomServerInfo + : undefined, }; await api.integrations.updateIntegrationSiteInstallation( siteInstallation.integration, @@ -77,83 +156,125 @@ const configBlock = createComponent - - The Client ID of your Okta application. - - {' '} - More Details - - - } - element={} - /> - - - The Domain of your Okta instance. - - {' '} - More Details - - - } - element={} - /> - - - The Client Secret of your Okta application. - + + + + + The Domain of your Okta instance. + + {' '} + More Details + + + } + element={} + /> + + + The Client ID of your Okta application. + + {' '} + More Details + + + } + element={} + /> + + + The Client Secret of your Okta application. + + {' '} + More Details + + + } + element={ + + } + /> + + + Add this URL to the{' '} + Sign-In Redirect URIs section in your + application's settings in Okta. + + } + element={} + /> + + + + + + - {' '} - More Details - - - } - element={} - /> - - - - The following URL needs to be saved as a Sign-In Redirect URI in Okta: - - - - + } + /> + {element.state.include_claims ? ( + + } /> - } - /> - + ) : null} + + + } + /> + + ); }, }); @@ -202,79 +323,97 @@ const handleFetchEvent: FetchEventCallback = async (request, router.get('/visitor-auth/response', async (request) => { if ('site' in siteInstallation && siteInstallation.site) { const publishedContentUrls = await getPublishedContentUrls(context); - const privateKey = context.environment.signingSecrets.siteInstallation!; - let token; - try { - token = await sign( - { exp: Math.floor(Date.now() / 1000) + 1 * (60 * 60) }, - privateKey, - ); - } catch (e) { - return new Response('Error: Could not sign JWT token', { - status: 500, - }); - } const oktaDomain = siteInstallation.configuration.okta_domain; const clientId = siteInstallation.configuration.client_id; const clientSecret = siteInstallation.configuration.client_secret; + const oktaCustomAuthServerConfig = + siteInstallation.configuration.okta_custom_auth_server; + const includeClaimsInVAToken = oktaCustomAuthServerConfig?.id; + + if (!clientId || !clientSecret || !oktaDomain) { + return new Response( + 'Error: Either client id, client secret or okta domain is missing', + { + status: 400, + }, + ); + } + + const searchParams = new URLSearchParams({ + grant_type: 'authorization_code', + client_id: clientId, + client_secret: clientSecret, + code: `${request.query.code}`, + redirect_uri: `${installationURL}/visitor-auth/response`, + }); + const accessTokenURL = + includeClaimsInVAToken && oktaCustomAuthServerConfig + ? oktaCustomAuthServerConfig.token_endpoint + : `https://${oktaDomain}/oauth2/v1/token/`; + const oktaTokenResp = await fetch(accessTokenURL, { + method: 'POST', + headers: { 'content-type': 'application/x-www-form-urlencoded' }, + body: searchParams, + }); + + if (!oktaTokenResp.ok) { + const errorResponse = await oktaTokenResp.json(); + logger.debug(JSON.stringify(errorResponse, null, 2)); + logger.debug( + `Did not receive access token. Error: ${ + (errorResponse && errorResponse.error) || '' + } ${(errorResponse && errorResponse.error_description) || ''}`, + ); + return new Response('Error: Could not fetch token from Okta', { + status: 401, + }); + } - if (clientId && clientSecret) { - const searchParams = new URLSearchParams({ - grant_type: 'authorization_code', - client_id: clientId, - client_secret: clientSecret, - code: `${request.query.code}`, - scope: 'openid', - redirect_uri: `${installationURL}/visitor-auth/response`, + const oktaTokenData = await oktaTokenResp.json(); + if (!oktaTokenData.access_token) { + return new Response('Error: No Access Token found in response from Okta', { + status: 401, }); - const accessTokenURL = `https://${oktaDomain}/oauth2/v1/token/`; - const resp: any = await fetch(accessTokenURL, { - method: 'POST', - headers: { 'content-type': 'application/x-www-form-urlencoded' }, - body: searchParams, - }) - .then((response) => response.json()) - .catch((err) => { - return new Response('Error: Could not fetch access token from Okta', { - status: 401, - }); + } + + // Okta already include user/custom claims in the access token so we can just decode it + // TODO: verify token using JWKS and check audience (aud) claims + const decodedOktaToken = await jwt.decode(oktaTokenData.access_token); + try { + const privateKey = context.environment.signingSecrets.siteInstallation; + if (!privateKey) { + return new Response('Error: Missing private key from site installation', { + status: 400, }); - if ('access_token' in resp) { - let url; - const state = request.query.state!.toString(); - const location = state.substring(state.indexOf('-') + 1); - if (location) { - url = new URL(`${publishedContentUrls?.published}${location}`); - url.searchParams.append('jwt_token', token); - } else { - url = new URL(publishedContentUrls?.published!); - url.searchParams.append('jwt_token', token); - } - if (token && publishedContentUrls?.published) { - return Response.redirect(url.toString()); - } else { - return new Response( - "Error: Either JWT token or space's published URL is missing", - { - status: 500, - }, - ); - } - } else { - logger.debug(JSON.stringify(resp, null, 2)); - logger.debug( - `Did not receive access token. Error: ${(resp && resp.error) || ''} ${ - (resp && resp.error_description) || '' - }`, + } + const jwtToken = await jwt.sign( + { + ...(decodedOktaToken.payload ?? {}), + exp: Math.floor(Date.now() / 1000) + 1 * (60 * 60), + }, + privateKey, + ); + + const publishedContentUrl = publishedContentUrls?.published; + if (!publishedContentUrl || !jwtToken) { + return new Response( + "Error: Either JWT token or site's published URL is missing", + { + status: 500, + }, ); - return new Response('Error: No Access Token found in response from Okta', { - status: 401, - }); } - } else { - return new Response('Error: Either ClientId or Client Secret is missing', { - status: 400, + + const state = request.query.state?.toString(); + const location = state ? state.substring(state.indexOf('-') + 1) : ''; + const url = new URL(`${publishedContentUrl}${location || ''}`); + url.searchParams.append('jwt_token', jwtToken); + + return Response.redirect(url.toString()); + } catch (e) { + return new Response('Error: Could not sign JWT token', { + status: 500, }); } } @@ -318,7 +457,14 @@ export default createIntegration({ throw new ExposableError('OIDC configuration is missing'); } - const url = new URL(`https://${oktaDomain}/oauth2/v1/authorize`); + const oktaCustomAuthServerConfig = siteInstallation.configuration.okta_custom_auth_server; + const includeClaimsInVAToken = !!oktaCustomAuthServerConfig?.id; + + const url = new URL( + includeClaimsInVAToken && oktaCustomAuthServerConfig + ? oktaCustomAuthServerConfig.authorization_endpoint + : `https://${oktaDomain}/oauth2/v1/authorize`, + ); url.searchParams.append('client_id', clientId); url.searchParams.append('response_type', 'code'); url.searchParams.append('redirect_uri', `${installationURL}/visitor-auth/response`);