diff --git a/backend/src/db/migrations/20241015084434_increase-identity-metadata-col-length.ts b/backend/src/db/migrations/20241015084434_increase-identity-metadata-col-length.ts new file mode 100644 index 000000000..e7cdf31cf --- /dev/null +++ b/backend/src/db/migrations/20241015084434_increase-identity-metadata-col-length.ts @@ -0,0 +1,19 @@ +import { Knex } from "knex"; + +import { TableName } from "../schemas"; + +export async function up(knex: Knex): Promise { + if (await knex.schema.hasColumn(TableName.IdentityMetadata, "value")) { + await knex.schema.alterTable(TableName.IdentityMetadata, (t) => { + t.string("value", 1020).alter(); + }); + } +} + +export async function down(knex: Knex): Promise { + if (await knex.schema.hasColumn(TableName.IdentityMetadata, "value")) { + await knex.schema.alterTable(TableName.IdentityMetadata, (t) => { + t.string("value", 255).alter(); + }); + } +} diff --git a/backend/src/ee/routes/v1/saml-router.ts b/backend/src/ee/routes/v1/saml-router.ts index d96eb7c1f..aaebd9b6f 100644 --- a/backend/src/ee/routes/v1/saml-router.ts +++ b/backend/src/ee/routes/v1/saml-router.ts @@ -128,7 +128,10 @@ export const registerSamlRouter = async (server: FastifyZodProvider) => { .map((key) => { // for the ones like in format: http://schemas.xmlsoap.org/ws/2005/05/identity/claims/email const formatedKey = key.startsWith("http") ? key.split("/").at(-1) || "" : key; - return { key: formatedKey, value: String((profile.attributes as Record)[key]) }; + return { + key: formatedKey, + value: String((profile.attributes as Record)[key]).substring(0, 1020) + }; }) .filter((el) => el.key && !["email", "firstName", "lastName"].includes(el.key));