feat(site): forward optional access_key from URL into site_domain search
This commit is contained in:
@@ -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',
|
||||||
|
|||||||
@@ -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
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user