UNPKG

@redocly/respect-core

Version:
54 lines 1.75 kB
export function getSecurityParameter(security, ctx) { if (isApiKeyAuth(security)) { return { in: security.scheme.in, name: security.scheme.name, value: security.values.apiKey, }; } if (isBasicAuth(security)) { const { username, password } = security.values; const value = btoa(`${username}:${password}`); ctx.secretFields.add(value); return getAuthHeader(`Basic ${value}`, ctx); } if (isBearerAuth(security)) { const { token } = security.values; ctx.secretFields.add(token); return getAuthHeader(`Bearer ${token}`, ctx); } if (isOpenIdConnectAuth(security)) { const { accessToken } = security.values; ctx.secretFields.add(accessToken); return getAuthHeader(`Bearer ${accessToken}`, ctx); } if (isOAuth2Auth(security)) { const { accessToken } = security.values; ctx.secretFields.add(accessToken); return getAuthHeader(`Bearer ${accessToken}`, ctx); } return undefined; } function getAuthHeader(value, _ctx) { return { in: 'header', name: 'Authorization', value, }; } function isOAuth2Auth(security) { return security.scheme.type === 'oauth2'; } function isOpenIdConnectAuth(security) { return security.scheme.type === 'openIdConnect'; } function isApiKeyAuth(security) { return security.scheme.type === 'apiKey'; } function isBasicAuth(security) { return security.scheme.type === 'http' && security.scheme.scheme === 'basic'; } function isBearerAuth(security) { return security.scheme.type === 'http' && security.scheme.scheme === 'bearer'; } //# sourceMappingURL=get-security-parameters.js.map