async function requestCredential() {
if (typeof window.DigitalCredential !== 'undefined') {
try {
let fetchResponse = await fetch('https://example.com/verifier/oid4vp/request/');
if (!fetchResponse.ok) {
throw new Error('Network response was not ok');
}
let presReqData = await fetchResponse.json();
const controller = new AbortController();
let dcResponse = await navigator.credentials.get({
signal: controller.signal,
mediation: "required",
digital: {
requests: [{
protocol: "openid4vp",
data: presReqData
}]
}
});
let postResponse = await fetch('https://example.com/verifier/oid4vp/response/', {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: JSON.stringify(dcResponse)
});
if (!postResponse.ok) {
throw new Error('Failed to send response to backend');
}
} catch (error) {
console.error('Error:', error);
}
} else {
alert("The Digital Credentials API is not supported in this browser.")
}
};