idp angepasst

This commit is contained in:
Bastian Wagner
2026-07-15 16:59:17 +02:00
parent 0dfba43aa6
commit fadb5dd049
59 changed files with 1954 additions and 367 deletions

View File

@@ -38,15 +38,18 @@ describe('AppController (e2e)', () => {
beforeEach(async () => {
oidcService = {
createAuthorizationUrl: jest.fn(
async () => 'https://sso.example.test/authorize',
createAuthorizationUrl: jest.fn(() =>
Promise.resolve('https://sso.example.test/authorize'),
),
exchangeCallback: jest.fn(() =>
Promise.resolve({
subject: 'oidc-default',
email: 'default@example.com',
name: 'Default User',
groups: [],
idToken: 'id-token',
}),
),
exchangeCallback: jest.fn(async () => ({
subject: 'oidc-default',
email: 'default@example.com',
name: 'Default User',
groups: [],
})),
};
const moduleFixture: TestingModule = await Test.createTestingModule({
@@ -219,6 +222,7 @@ describe('AppController (e2e)', () => {
email,
name: 'Test User',
groups: [],
idToken: 'id-token',
});
const exchangeResponse = await request(app.getHttpServer())
@@ -226,7 +230,7 @@ describe('AppController (e2e)', () => {
.send({ code: 'code', state: 'state' })
.expect(200);
return exchangeResponse.body as unknown as AuthResponseBody;
return exchangeResponse.body as AuthResponseBody;
}
function uniqueEmail(prefix: string): string {
@@ -234,17 +238,19 @@ describe('AppController (e2e)', () => {
}
async function ensureSsoSchema(dataSource: DataSource): Promise<void> {
const usersTables = (await dataSource.query(
const usersTables = await dataSource.query<Array<Record<string, unknown>>>(
"SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'users'",
)) as unknown[];
);
if (!usersTables.length) {
return;
}
const oidcSubjectColumns = (await dataSource.query(
const oidcSubjectColumns = await dataSource.query<
Array<Record<string, unknown>>
>(
"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = 'users' AND COLUMN_NAME = 'oidcSubject'",
)) as unknown[];
);
if (!oidcSubjectColumns.length) {
await dataSource.query(
@@ -264,10 +270,10 @@ describe('AppController (e2e)', () => {
dataSource: DataSource,
columnName: string,
): Promise<void> {
const columns = (await dataSource.query(
const columns = await dataSource.query<Array<Record<string, unknown>>>(
'SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = ? AND COLUMN_NAME = ?',
['users', columnName],
)) as unknown[];
);
if (columns.length) {
await dataSource.query(