@sphereon/did-auth-siop
Version:
Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)
81 lines • 4.63 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.assignIfRequestObject = exports.assignIfAuth = exports.isTarget = exports.isTargetOrNoTargets = exports.createVerifyResponseOptsFromBuilderOrExistingOpts = exports.createRequestOptsFromBuilderOrExistingOpts = void 0;
const oid4vc_common_1 = require("@sphereon/oid4vc-common");
const authorization_request_1 = require("../authorization-request");
// import { CreateAuthorizationRequestOptsSchema } from '../schemas';
const types_1 = require("../types");
const createRequestOptsFromBuilderOrExistingOpts = (opts) => {
var _a, _b;
const version = opts.builder ? opts.builder.getSupportedRequestVersion() : opts.createRequestOpts.version;
if (!version) {
throw Error(types_1.SIOPErrors.NO_REQUEST_VERSION);
}
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
const createRequestOpts = opts.builder
? {
version,
payload: Object.assign({}, opts.builder.authorizationRequestPayload),
requestObject: Object.assign(Object.assign({}, opts.builder.requestObjectBy), { payload: Object.assign(Object.assign({}, opts.builder.requestObjectPayload), { subject_types_supported: (_a = opts.builder.clientMetadata) === null || _a === void 0 ? void 0 : _a.subjectTypesSupported, request_object_signing_alg_values_supported: (_b = opts.builder.clientMetadata) === null || _b === void 0 ? void 0 : _b.requestObjectSigningAlgValuesSupported }), createJwtCallback: opts.builder.createJwtCallback }),
clientMetadata: opts.builder.clientMetadata,
}
: opts.createRequestOpts;
/*const valid = true; // fixme: re-enable schema: CreateAuthorizationRequestOptsSchema(createRequestOpts);
if (!valid) {
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-ignore
throw new Error('RP builder validation error: ' + JSON.stringify(CreateAuthorizationRequestOptsSchema.errors));
}*/
return createRequestOpts;
};
exports.createRequestOptsFromBuilderOrExistingOpts = createRequestOptsFromBuilderOrExistingOpts;
const createVerifyResponseOptsFromBuilderOrExistingOpts = (opts) => {
var _a, _b;
return opts.builder
? {
hasher: (_a = opts.builder.hasher) !== null && _a !== void 0 ? _a : oid4vc_common_1.defaultHasher,
// correlationId: uuidv4(), We can't set a correlationId here, it will no longer check functions like this.sessionManager.getCorrelationIdByNonce(resNonce, false)
verifyJwtCallback: opts.builder.verifyJwtCallback,
verification: {
presentationVerificationCallback: opts.builder.presentationVerificationCallback,
supportedVersions: opts.builder.supportedVersions,
revocationOpts: {
revocationVerification: opts.builder.revocationVerification,
revocationVerificationCallback: opts.builder.revocationVerificationCallback,
},
replayRegistry: opts.builder.sessionManager,
},
audience: opts.builder.clientId || ((_b = opts.builder.clientMetadata) === null || _b === void 0 ? void 0 : _b.client_id),
}
: opts.verifyOpts;
};
exports.createVerifyResponseOptsFromBuilderOrExistingOpts = createVerifyResponseOptsFromBuilderOrExistingOpts;
const isTargetOrNoTargets = (searchTarget, targets) => {
if (!targets) {
return true;
}
return (0, exports.isTarget)(searchTarget, targets);
};
exports.isTargetOrNoTargets = isTargetOrNoTargets;
const isTarget = (searchTarget, targets) => {
return Array.isArray(targets) ? targets.includes(searchTarget) : targets === searchTarget;
};
exports.isTarget = isTarget;
const assignIfAuth = (opt, isDefaultTarget) => {
if (isDefaultTarget
? (0, exports.isTargetOrNoTargets)(authorization_request_1.PropertyTarget.AUTHORIZATION_REQUEST, opt.targets)
: (0, exports.isTarget)(authorization_request_1.PropertyTarget.AUTHORIZATION_REQUEST, opt.targets)) {
return opt.propertyValue;
}
return undefined;
};
exports.assignIfAuth = assignIfAuth;
const assignIfRequestObject = (opt, isDefaultTarget) => {
if (isDefaultTarget ? (0, exports.isTargetOrNoTargets)(authorization_request_1.PropertyTarget.REQUEST_OBJECT, opt.targets) : (0, exports.isTarget)(authorization_request_1.PropertyTarget.REQUEST_OBJECT, opt.targets)) {
return opt.propertyValue;
}
return undefined;
};
exports.assignIfRequestObject = assignIfRequestObject;
//# sourceMappingURL=Opts.js.map