From 70a3c2631f69c244186a40a8179a9951b7808364 Mon Sep 17 00:00:00 2001 From: Ruben Vallejo Date: Wed, 30 Aug 2023 15:32:49 -0400 Subject: [PATCH] resolve rebase type/compilation errors Signed-off-by: Ruben Vallejo --- .../src/providers/pinniped/provider.test.ts | 16 ++++++++++++---- .../src/providers/pinniped/provider.ts | 8 +++++--- plugins/auth-node/src/oauth/state.ts | 1 + 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/plugins/auth-backend/src/providers/pinniped/provider.test.ts b/plugins/auth-backend/src/providers/pinniped/provider.test.ts index 82312266ff..6f7b9e92fa 100644 --- a/plugins/auth-backend/src/providers/pinniped/provider.test.ts +++ b/plugins/auth-backend/src/providers/pinniped/provider.test.ts @@ -20,11 +20,10 @@ import { encodeState, readState, } from '../../lib/oauth'; -import { PinnipedAuthProvider, PinnipedOptions } from './provider'; +import { PinnipedAuthProvider, PinnipedProviderOptions } from './provider'; import { setupServer } from 'msw/node'; import { rest } from 'msw'; import express from 'express'; -import { UnsecuredJWT } from 'jose'; import { OAuthState } from '../../lib/oauth'; import { Server } from 'http'; import cookieParser from 'cookie-parser'; @@ -37,7 +36,13 @@ import { AuthProviderRouteHandlers } from '../types'; import { getVoidLogger } from '@backstage/backend-common'; import { AddressInfo } from 'net'; import request from 'supertest'; -import { SignJWT, exportJWK, generateKeyPair, importJWK } from 'jose'; +import { + SignJWT, + exportJWK, + generateKeyPair, + importJWK, + UnsecuredJWT, +} from 'jose'; import { v4 as uuid } from 'uuid'; describe('PinnipedAuthProvider', () => { @@ -74,7 +79,7 @@ describe('PinnipedAuthProvider', () => { request_object_signing_alg_values_supported: ['RS256', 'RS512', 'HS256'], }; - const clientMetadata: PinnipedOptions = { + const clientMetadata: PinnipedProviderOptions = { federationDomain: 'https://federationDomain.test', clientId: 'clientId', clientSecret: 'secret', @@ -462,6 +467,9 @@ describe('PinnipedAuthProvider', () => { }), signInWithCatalogUser: async _ => ({ token: '' }), }, + baseUrl: `${appUrl}/api/auth`, + appUrl, + isOriginAllowed: _ => true, }); const router = Router(); router diff --git a/plugins/auth-backend/src/providers/pinniped/provider.ts b/plugins/auth-backend/src/providers/pinniped/provider.ts index 63776b5a81..dc1da84d69 100644 --- a/plugins/auth-backend/src/providers/pinniped/provider.ts +++ b/plugins/auth-backend/src/providers/pinniped/provider.ts @@ -43,7 +43,7 @@ type PrivateInfo = { refreshToken?: string; }; -export type PinnipedOptions = OAuthProviderOptions & { +export type PinnipedProviderOptions = OAuthProviderOptions & { federationDomain: string; clientId: string; clientSecret: string; @@ -55,7 +55,7 @@ export type PinnipedOptions = OAuthProviderOptions & { export class PinnipedAuthProvider implements OAuthHandlers { private readonly implementation: Promise; - constructor(options: PinnipedOptions) { + constructor(options: PinnipedProviderOptions) { this.implementation = this.setupStrategy(options); } @@ -157,7 +157,9 @@ export class PinnipedAuthProvider implements OAuthHandlers { }); } - private async setupStrategy(options: PinnipedOptions): Promise { + private async setupStrategy( + options: PinnipedProviderOptions, + ): Promise { const issuer = await Issuer.discover( `${options.federationDomain}/.well-known/openid-configuration`, ); diff --git a/plugins/auth-node/src/oauth/state.ts b/plugins/auth-node/src/oauth/state.ts index fc747d08a5..28f7d2fd2e 100644 --- a/plugins/auth-node/src/oauth/state.ts +++ b/plugins/auth-node/src/oauth/state.ts @@ -29,6 +29,7 @@ export type OAuthState = { scope?: string; redirectUrl?: string; flow?: string; + audience?: string; }; /** @public */