feat: oidc poc

This commit is contained in:
Sheen Capadngan
2024-06-17 20:32:47 +08:00
parent 2d8a2a6a3a
commit 66e5edcfc0
19 changed files with 512 additions and 3 deletions
@@ -0,0 +1,30 @@
import { Knex } from "knex";
import { TableName } from "../schemas";
export async function up(knex: Knex): Promise<void> {
if (!(await knex.schema.hasTable(TableName.OidcConfig))) {
await knex.schema.createTable(TableName.OidcConfig, (tb) => {
tb.uuid("id", { primaryKey: true }).defaultTo(knex.fn.uuid());
tb.string("issuer");
tb.string("authorizationEndpoint");
tb.string("jwksUri");
tb.string("tokenEndpoint");
tb.string("userinfoEndpoint");
tb.text("encryptedClientId");
tb.string("clientIdIV");
tb.string("clientIdTag");
tb.text("encryptedClientSecret");
tb.string("clientSecretIV");
tb.string("clientSecretTag");
tb.boolean("isActive").notNullable();
tb.timestamps(true, true, true);
tb.uuid("orgId").notNullable().unique();
tb.foreign("orgId").references("id").inTable(TableName.Organization);
});
}
}
export async function down(knex: Knex): Promise<void> {
await knex.schema.dropTableIfExists(TableName.OidcConfig);
}