@redocly/respect-core
Version:
API testing framework core
24 lines • 906 B
JavaScript
const REQUIRED_VALUES_BY_AUTH_TYPE = {
apiKey: ['apiKey'],
basic: ['username', 'password'],
digest: ['username', 'password'],
bearer: ['token'],
oauth2: ['accessToken'],
openIdConnect: ['accessToken'],
mutualTLS: [],
};
// TODO: This should be replaced with schema validation in Respect rules
export function validateXSecurityParameters({ scheme, values, }) {
const authType = scheme.type === 'http' ? scheme.scheme : scheme.type;
const requiredKeys = REQUIRED_VALUES_BY_AUTH_TYPE[authType];
if (!requiredKeys) {
throw new Error(`Unsupported security scheme type: ${authType}`);
}
for (const key of requiredKeys) {
if (!values?.[key]) {
throw new Error(`Missing required value \`${key}\` for ${authType} security scheme`);
}
}
return { scheme, values };
}
//# sourceMappingURL=validate-x-security-parameters.js.map