feat(device-core): add restricted identity references
This commit is contained in:
@@ -1,6 +1,12 @@
|
||||
import { EXTERNAL_PROVIDER_CONTRACT_VERSION } from "./contract-version.mjs";
|
||||
import { isNdcCredentialReferenceValue } from "./credential-reference.mjs";
|
||||
|
||||
export { EXTERNAL_PROVIDER_CONTRACT_VERSION } from "./contract-version.mjs";
|
||||
export {
|
||||
NDC_CREDENTIAL_REFERENCE_OWNER,
|
||||
isNdcCredentialReferenceValue,
|
||||
normalizeNdcCredentialReference,
|
||||
} from "./credential-reference.mjs";
|
||||
export { validateIntakeBatch } from "./intake-batch.mjs";
|
||||
export {
|
||||
DATA_PRODUCT_GEOMETRY_TYPES,
|
||||
@@ -199,6 +205,12 @@ export function validateConnectionProfile(value) {
|
||||
if (value?.credentialRef?.owner && value.credentialRef.owner !== "ndc_l2_credentials") {
|
||||
errors.push("credentialRef.owner_must_be_ndc_l2_credentials");
|
||||
}
|
||||
if (
|
||||
typeof value?.credentialRef?.reference === "string"
|
||||
&& !isNdcCredentialReferenceValue(value.credentialRef.reference)
|
||||
) {
|
||||
errors.push("credentialRef.reference_must_be_canonical_ndc_ref");
|
||||
}
|
||||
if (containsSecretLikeMaterial(value)) errors.push("profile_must_not_contain_secret_material");
|
||||
if (value?.scope !== undefined) {
|
||||
if (!isPlainObject(value.scope)) {
|
||||
|
||||
Reference in New Issue
Block a user