23 lines
764 B
JavaScript
23 lines
764 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,
|
|
};
|