25 lines
777 B
JavaScript
25 lines
777 B
JavaScript
function assertSigningAlgValuesSupport(endpoint, issuer, properties) {
|
|
if (!issuer[`${endpoint}_endpoint`]) return;
|
|
|
|
const eam = `${endpoint}_endpoint_auth_method`;
|
|
const easa = `${endpoint}_endpoint_auth_signing_alg`;
|
|
const easavs = `${endpoint}_endpoint_auth_signing_alg_values_supported`;
|
|
|
|
if (properties[eam] && properties[eam].endsWith('_jwt') && !properties[easa] && !issuer[easavs]) {
|
|
throw new TypeError(
|
|
`${easavs} must be configured on the issuer if ${easa} is not defined on a client`,
|
|
);
|
|
}
|
|
}
|
|
|
|
function assertIssuerConfiguration(issuer, endpoint) {
|
|
if (!issuer[endpoint]) {
|
|
throw new TypeError(`${endpoint} must be configured on the issuer`);
|
|
}
|
|
}
|
|
|
|
module.exports = {
|
|
assertSigningAlgValuesSupport,
|
|
assertIssuerConfiguration,
|
|
};
|