feat(site): forward optional access_key from URL into site_domain search

This commit is contained in:
Scott Idem
2026-03-31 13:35:09 -04:00
parent aa5ba8c9c6
commit 84dc3dd158
2 changed files with 26 additions and 7 deletions

View File

@@ -99,12 +99,14 @@ export async function lookup_site_domain({
api_cfg, api_cfg,
fqdn, fqdn,
view = 'default', view = 'default',
log_lvl = 0 log_lvl = 0,
access_key
}: { }: {
api_cfg: any; api_cfg: any;
fqdn: string; fqdn: string;
view?: string; view?: string;
log_lvl?: number; log_lvl?: number;
access_key?: string;
}): Promise<ae_SiteDomain | null> { }): Promise<ae_SiteDomain | null> {
if (log_lvl) { if (log_lvl) {
console.log(`*** lookup_site_domain() *** fqdn=${fqdn} (Cache-First)`); console.log(`*** lookup_site_domain() *** fqdn=${fqdn} (Cache-First)`);
@@ -125,7 +127,8 @@ export async function lookup_site_domain({
api_cfg, api_cfg,
fqdn, fqdn,
view, view,
log_lvl: 0 log_lvl: 0,
access_key
}); });
return cached as any; return cached as any;
@@ -139,7 +142,8 @@ export async function lookup_site_domain({
api_cfg, api_cfg,
fqdn, fqdn,
view, view,
log_lvl log_lvl,
access_key
}); });
} }
@@ -150,7 +154,8 @@ async function _refresh_site_domain_background({
api_cfg, api_cfg,
fqdn, fqdn,
view, view,
log_lvl log_lvl,
access_key
}: any) { }: any) {
try { try {
const guest_api_cfg = { ...api_cfg }; const guest_api_cfg = { ...api_cfg };
@@ -172,10 +177,20 @@ async function _refresh_site_domain_background({
delete guest_api_cfg.jwt; delete guest_api_cfg.jwt;
delete guest_api_cfg.account_id; delete guest_api_cfg.account_id;
const search_query = { const search_query: any = {
and: [{ field: 'fqdn', op: 'eq', value: fqdn }] and: [{ field: 'fqdn', op: 'eq', value: fqdn }]
}; };
// If the caller provided an access_key (from the URL), include it
// so the server can match restricted domains. Omit empty/falsy keys.
if (access_key) {
search_query.and.push({
field: 'access_key',
op: 'eq',
value: access_key
});
}
const result_li = await api.search_ae_obj({ const result_li = await api.search_ae_obj({
api_cfg: guest_api_cfg, api_cfg: guest_api_cfg,
obj_type: 'site_domain', obj_type: 'site_domain',

View File

@@ -119,6 +119,8 @@ export async function load({ fetch, params, parent, route, url }) {
}; };
const fqdn = url.host; const fqdn = url.host;
// Optional access key provided via URL `?key=...` to support restricted site domains
const access_key = url.searchParams.get('key') || undefined;
let result: any = null; let result: any = null;
let api_error = false; let api_error = false;
@@ -272,7 +274,8 @@ export async function load({ fetch, params, parent, route, url }) {
api_cfg: bootstrap_api_cfg, api_cfg: bootstrap_api_cfg,
fqdn, fqdn,
view: 'base', view: 'base',
log_lvl log_lvl,
access_key
}); });
if (log_lvl) if (log_lvl)
console.log( console.log(
@@ -296,7 +299,8 @@ export async function load({ fetch, params, parent, route, url }) {
api_cfg: ae_api_init, api_cfg: ae_api_init,
fqdn, fqdn,
view: 'base', view: 'base',
log_lvl: 0 log_lvl: 0,
access_key
}); });
} }