תאריך פרסום: 26 בנובמבר 2025
אתם יכולים להצטרף לגרסת המקור לניסיון של Digital Credentials API החל מ-Chrome 143. ה-API החדש הזה מאפשר לאתרים לספק בקלות אישורים דיגיטליים לארנק המועדף של המשתמש.
הרקע
במערכת האקולוגית של זהויות דיגיטליות שכוללת שלושה צדדים – מנפיקים, מאמתים (צדדים מסתמכים) ובעלי זהות (ארנקים) – נפוץ שהמשתמש מקצה לעצמו תעודה מזהה דיגיטלית בארנק באמצעות הקצאה בדחיפה. במהלך התהליך, המשתמש מתחיל את תהליך הנפקת התעודה המזהה ישירות מהאתר או מהאפליקציה של המנפיק. לדוגמה, משתמש שנכנס לאתר של משרד הרישוי (המנפיק) במדינה מסוימת יכול להתחיל את התהליך לשמירת הרישיון הדיגיטלי שלו באפליקציית הארנק המועדפת עליו (המחזיק) במכשיר שלו.
כדי שהמודל הזה יצליח, הגורם המנפיק צריך דרך מאובטחת ואמינה להתחבר לאפליקציית Wallet כדי להנפיק את תעודת הזהות. התהליך הזה היה מפוצל, כי כל מנפיק היה צריך ליצור חיבורים משלו לכל אפליקציית ארנק שהוא עבד איתה בשותפות, בדרך כלל באמצעות סכימות URI בהתאמה אישית. הגישה הזו יצרה חיכוך משמעותי בהטמעה, ואילצה את המנפיקים לבנות ולתחזק תמיכה במערכת אקולוגית מפוצלת של שילובים שונים של ארנקים.
הנפקת Digital Credentials API
כדי לייעל את התהליך הזה, Google מרחיבה את התמיכה ב-W3C Digital Credentials API, בנוסף ליכולות ההצגה שנוספו לאחרונה.
השיטה navigator.credentials.create() מאפשרת לאתרים של מנפיקי כרטיסים להפעיל באופן מאובטח אפליקציות של ארנקים דיגיטליים לצורך הנפקת כרטיסים. כשאתר של מנפיק קורא ל-navigator.credentials.create() עם חבר digital, הדפדפן מעביר את התהליך לפלטפורמה, שמוגבלת ל-Android, החל מ-Chrome 143.
בפלטפורמה מוצגת רשימה של ארנקים תואמים שמותקנים במכשיר.
אחר כך המשתמש יכול לבחור ארנק ולתת את ההסכמה שלו להוספת פרטי הכניסה.
הנפקת אישורים דיגיטליים באמצעות ה-API פועלת גם בתרחישים של אותו מכשיר (בנייד) וגם בתרחישים של מכשירים שונים (הנפקה שמתחילה במחשב). בתרחיש של שימוש בכמה מכשירים, בדפדפן במחשב מוצג קוד QR. אם שני המכשירים קרובים זה לזה, כשמשתמש סורק את הקוד במכשיר הנייד שלו, יתחיל תהליך שמועבר דרך הפלטפורמה.
איך משתמשים ב-API?
ה-API לא תלוי בפרוטוקול והוא מיועד לעבודה עם סטנדרטים פתוחים, למשל הסטנדרט OpenID for Verifiable Credential Issuance (OpenID4VCI).
כדי להתחיל בתהליך ההנפקה, האתר של הגורם המנפיק צריך לקרוא ל-navigator.credentials.create() ולהעביר את בקשות ההנפקה בתוך אובייקט digital, לדוגמה:
// Check if the browser supports Digital Credentials issuance and the protocol.
if (window.DigitalCredential && DigitalCredential.userAgentAllowsProtocol('openid4vci-v1')) {
// Construct a credential offer according to the OpenID4VCI specification.
// Note: The API is in an active development stage. Always consult the
// specification and documentation for the most recent implementation details
const credentialOffer = {
credential_issuer: 'https://digital-credentials.dev',
credential_configuration_ids: [
'org.iso.18013.5.1.mDL'
],
authorization_server_metadata: {
issuer: 'https://digital-credentials.dev',
token_endpoint: 'https://digital-credentials.dev/openid4vci/token',
authorization_endpoint: 'https://digital-credentials.dev/openid4vci/auth',
grant_types_supported: [
'authorization_code',
'urn:ietf:params:oauth:grant-type:pre-authorized_code'
],
response_types_supported: ['code','token']
},
// Metadata details to help the wallet display the credential correctly.
credential_issuer_metadata: {
credential_endpoint: 'https://digital-credentials.dev/openid4vci/credential',
credential_configurations_supported: {
'org.iso.18013.5.1.mDL': {
format: 'mso_mdoc',
display: [{
name: 'Driving License',
locale: 'en-US',
description: 'Mobile Driving License'
}],
// The claims that this document contains.
// For a full list of standard mDL claims, see the ISO/IEC 18013-5 specification.
claims: [{
path: ['org.iso.18013.5.1', 'family_name'],
display: [{ name: 'Family Name', locale: 'en-US' }]
}
// ... Add any other claims for your document here.
]
}
}
}
};
// This call is made from the issuer's frontend, likely inside a button's click handler.
try {
await navigator.credentials.create({
digital: {
requests: [{
// The protocol identifier for this version of OpenID4VCI.
protocol: 'openid4vci-v1',
data: credentialOffer
}
}]
}
});
console.log('Credential issuance handoff to OS was successful.');
} catch (e) {
console.error('Error starting the credential issuance flow:', e);
}
} else {
// The API is not supported. Provide an alternative issuance method.
console.log('Digital Credential Issuance API is not supported in this browser.');
}
רוצה לנסות?
לפני שבודקים את Digital Credentials API בדפדפן ובמכשיר Android:
- צריך לעדכן לגרסה 143 של Chrome ואילך במחשב, ולהתקין במכשיר Android את Google Play Services בגרסה 24.0 ואילך.
- מפעילים את הדגל בכתובת
chrome://flags/#web-identity-digital-credentials-creationבדפדפן. - מתקינים במכשיר Android אפליקציית ארנק נתמכת, למשל הדמו CMWallet.
כדי לבדוק את התהליך ליצירת פרטי כניסה דיגיטליים במכשירים שונים:
- במחשב, עוברים לכתובת https://digital-credentials.dev/dmv
- לוחצים על הלחצן הוספה כדי להתחיל בתהליך ההנפקה.
- סורקים את קוד ה-QR באמצעות מכשיר Android ופועלים לפי ההנחיות.
אחרי שמבצעים את השלבים האלה, נוצר אישור חדש בארנק במכשיר Android.
כדי להפעיל את התכונה הזו באתר שלכם עבור משתמשים, צריך להצטרף לתקופת הניסיון של Digital Credentials API להנפקת אישורים. מידע נוסף זמין במאמר איך מתחילים להשתמש בגרסאות מקור לניסיון.
שיתוף משוב
המשוב שלכם חשוב לנו מאוד, כי הוא עוזר לנו לפתח את הפלטפורמה. אפשר לדווח על באגים או לשלוח בקשות להוספת תכונות בכלי למעקב אחרי באגים של Chromium.