0.2.0-alpha.3@union-networks/verification
High-level verification, check catalog, and checkout-bound verification helpers.
npm install @union-networks/verification@alpha
When to use it
- List verification checks.
- Create verification sessions.
- Poll proof results.
- Create checkout-bound verification sessions.
- List public mini-program catalog entries.
Exports
listVerificationChecksiterateVerificationCheckscreateVerificationSessionpollVerificationResultcreateCheckoutVerificationpollCheckoutVerificationlistMiniPrograms
Examples
import {
createVerificationSession,
pollVerificationResult,
} from '@union-networks/verification';
const session = await createVerificationSession(
{
verifierId: 'shop.example.checkout',
verifierDisplayName: 'Example Shop',
requestedChecks: [{ requestType: 'age_over_18' }],
ttlSeconds: 120,
},
{ verifierBaseUrl: 'https://verifier.egress.live' },
);
renderQr(session.qrPayload);
const result = await pollVerificationResult(session.sessionId, {
verifierBaseUrl: 'https://verifier.egress.live',
});
if (result.aggregateOutcome === 'passed') {
allowRestrictedAction();
}
import {
createCheckoutVerification,
pollCheckoutVerification,
} from '@union-networks/verification';
const checkout = await createCheckoutVerification(
{
serviceId: 'example-shop',
assertionJws,
requiredChecks: ['age_over_18'],
restrictedResourceIds: ['wine-001'],
ttlSeconds: 120,
},
{ issuerBaseUrl: 'https://issuer.egress.live' },
);
if (checkout.requiresVerification && checkout.verification) {
renderQr(checkout.verification.qrPayload);
const finalCheckout = await pollCheckoutVerification(
{
checkoutId: checkout.checkout.checkoutId,
serviceId: 'example-shop',
assertionJws,
},
{ issuerBaseUrl: 'https://issuer.egress.live' },
);
if (finalCheckout.checkout.status !== 'completed') {
removeRestrictedItems(finalCheckout.checkout.failureReason);
}
}