-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathconfig.ts
47 lines (42 loc) · 1.26 KB
/
config.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import { AuthzOptions } from "@aserto/aserto-node";
const getConfig: () => AuthzOptions = () => {
const {
ASERTO_AUTHORIZER_SERVICE_URL,
ASERTO_POLICY_ROOT,
ASERTO_AUTHORIZER_API_KEY,
ASERTO_TENANT_ID,
ASERTO_POLICY_INSTANCE_NAME,
ASERTO_POLICY_INSTANCE_LABEL,
ASERTO_AUTHORIZER_GRPC_CA_CERT_PATH,
ASERTO_GRPC_CA_CERT_PATH,
} = process.env;
if (!ASERTO_AUTHORIZER_SERVICE_URL) {
throw new Error("ASERTO_AUTHORIZER_SERVICE_URL is not defined");
}
if (!ASERTO_POLICY_ROOT) {
throw new Error("ASERTO_POLICY_ROOT is not defined");
}
const caCertPath =
ASERTO_AUTHORIZER_GRPC_CA_CERT_PATH || ASERTO_GRPC_CA_CERT_PATH;
const authzOptions = {
authorizerServiceUrl: ASERTO_AUTHORIZER_SERVICE_URL,
policyRoot: ASERTO_POLICY_ROOT,
...(ASERTO_AUTHORIZER_API_KEY && {
authorizerApiKey: ASERTO_AUTHORIZER_API_KEY,
}),
...(ASERTO_TENANT_ID && {
tenantId: ASERTO_TENANT_ID,
}),
...(ASERTO_POLICY_INSTANCE_NAME && {
instanceName: ASERTO_POLICY_INSTANCE_NAME,
}),
...(ASERTO_POLICY_INSTANCE_LABEL && {
instanceLabel: ASERTO_POLICY_INSTANCE_LABEL,
}),
...(caCertPath && {
authorizerCertCAFile: caCertPath,
}),
};
return authzOptions;
};
export { getConfig };