fix(overseas): support projected authorization headers

This commit is contained in:
2026-09-08 21:59:13 +08:00
parent 55fda1f616
commit a060f8dca8
7 changed files with 122 additions and 60 deletions
@@ -0,0 +1,22 @@
import test from 'node:test'
import assert from 'node:assert/strict'
import { readFileSync } from 'node:fs'
const sql = readFileSync(new URL('./db/security-projection-repair.sql', import.meta.url), 'utf8')
test('security projection repair derives every platform identity from IAM', () => {
assert.match(sql, /FROM baiyue_iam\.iam_user u/)
assert.match(sql, /CAST\(u\.auth_user_id AS CHAR\)/)
assert.doesNotMatch(sql, /9000000001|9000000003/)
})
test('security projection repair rebuilds user status and overseas authorization', () => {
assert.match(sql, /'USER'/)
assert.match(sql, /'AUTHORIZATION'/)
assert.match(sql, /platform:overseas-warehouse:/)
assert.match(sql, /platform:overseas-business:/)
assert.match(sql, /platform:overseas-master-data:/)
assert.match(sql, /platform:finance:/)
assert.match(sql, /lastleg:/)
assert.match(sql, /CONCAT\('repair-', u\.auth_user_id, '-[ua]-'/)
})