Előfeltételek
- Telepített Node.js 20+
- TypeScript-projekt (vagy JavaScript ESM-mel)
- Terminál és a kedvenc szerkesztője
Ennyi. Nincs API-kulcs, nincs regisztráció, nincs WRPAC-tanúsítvány. A DEMO mód azonnal működik.
1. lépés: telepítés
npm install @openeudi/core
Vagy a kívánt csomagkezelővel:
pnpm add @openeudi/core
yarn add @openeudi/core
2. lépés: ellenőrző létrehozása
import { createVerifier } from '@openeudi/core';
// Inicializálás DEMO módban - nincs szükség hitelesítő adatokra
const verifier = createVerifier({
mode: 'demo', // 'demo' | 'mock' | 'production'
});
A mode opció szabályozza az SDK működését:
| Mód | Viselkedés | Felhasználási eset |
|---|---|---|
demo | 3 másodperc után automatikusan befejeződik | Bemutatók, értékesítési demók, landing oldalak |
mock | Szimulált tárcaválaszok konfigurálható adatokkal | Integrációs tesztek, CI/CD pipeline-ok |
production | Valódi EUDI Tárca-ellenőrzés | Éles ellenőrzések (WRPAC kell, 2026 dec.) |
3. lépés: ellenőrzési munkamenet létrehozása
const session = await verifier.createSession({
attributes: ['age_over_18'],
// Az országspecifikus megfelelőséget a kereskedői konfiguráció kezeli
// (fehér-/feketelista) - ezt nem a felhasználótól kérjük be
});
// session.qrCode egy data URL a QR-kód képéhez
// session.sessionId az egyedi munkamenet-azonosító
// session.deepLink a mobilról mobilra folyamatokhoz használható
Az attributes tömb mondja meg, mit szeretne ellenőrizni. Az eIDAS Pro adatvédelem-központú logikai attribútumokra épül: igen/nem választ kap, nyers személyes adatot soha.
| Attribútum | Visszatérési érték | Leírás |
|---|---|---|
age_over_18 | Logikai érték | Betöltötte-e a felhasználó a 18. életévét? |
age_over_21 | Logikai érték | Betöltötte-e a felhasználó a 21. életévét? |
age_over_16 | Logikai érték | Betöltötte-e a felhasználó a 16. életévét? |
age_over_14 | Logikai érték | Betöltötte-e a felhasználó a 14. életévét? |
Az országszintű megfelelőség (mely országok engedélyezettek) a kereskedői beállításokban fehér- vagy feketelistával konfigurálható. Az SDK ezt automatikusan alkalmazza, anélkül hogy személyes adatot kérne a felhasználótól.
Megjegyzés: DEMO módban az attribútumok szintetikus adatokat adnak vissza. PRODUCTION módban a tárca kriptográfiailag bizonyítja a logikai értéket anélkül, hogy a tényleges születési dátumot feltárná.
4. lépés: a QR-kód megjelenítése
A munkamenet tartalmaz egy QR-kódot, amelyet a felhasználó az EUDI Tárca alkalmazásával beszkennel.
// Webes környezetben
const img = document.createElement('img');
img.src = session.qrCode;
document.getElementById('qr-container').appendChild(img);
// Reactben
function VerificationQR({ session }) {
return <img src={session.qrCode} alt="Szkennelje be az EUDI Tárcával" />;
}
// Next.js-ben (next/image használatával)
import Image from 'next/image';
function VerificationQR({ session }) {
return <Image src={session.qrCode} alt="Szkennelje be az EUDI Tárcával" width={256} height={256} />;
}
5. lépés: várakozás az eredményre
// Eseményalapú API (webalkalmazásokhoz ajánlott)
session.onVerified((result) => {
console.log('Az ellenőrzés sikeres!');
console.log('18 év feletti:', result.ageOver18); // true
console.log('Ország engedélyezett:', result.countryAllowed); // true (a fehérlista alapján)
console.log('Munkamenet-azonosító:', result.sessionId);
console.log('Időbélyeg:', result.verifiedAt);
});
session.onFailed((error) => {
console.log('Az ellenőrzés sikertelen:', error.reason);
// 'timeout' | 'rejected' | 'invalid_credential' | 'network_error'
});
session.onExpired(() => {
console.log('A munkamenet lejárt - generáljon új QR-kódot');
});
Vagy használja az ígéretalapú API-t:
try {
const result = await session.waitForResult({ timeout: 120000 }); // 2 perces timeout
console.log('Ellenőrizve:', result.ageOver18);
} catch (error) {
console.log('Sikertelen vagy időtúllépett:', error.reason);
}
Teljes példa: Express.js API útvonal
import express from 'express';
import { createVerifier } from '@openeudi/core';
const app = express();
const verifier = createVerifier({ mode: 'demo' });
// Új ellenőrzési munkamenet létrehozása
app.post('/api/verify', async (req, res) => {
const session = await verifier.createSession({
attributes: ['age_over_18'],
});
res.json({
sessionId: session.sessionId,
qrCode: session.qrCode,
});
});
// Munkamenet-állapot lekérése (vagy SSE használata valós időben)
app.get('/api/verify/:sessionId', async (req, res) => {
const status = await verifier.getSessionStatus(req.params.sessionId);
res.json(status);
});
// SSE végpont valós idejű frissítésekhez
app.get('/api/verify/:sessionId/events', (req, res) => {
res.setHeader('Content-Type', 'text/event-stream');
res.setHeader('Cache-Control', 'no-cache');
res.setHeader('Connection', 'keep-alive');
const session = verifier.getSession(req.params.sessionId);
session.onVerified((result) => {
res.write(`data: ${JSON.stringify({ type: 'verified', result })}\n\n`);
res.end();
});
session.onFailed((error) => {
res.write(`data: ${JSON.stringify({ type: 'failed', error })}\n\n`);
res.end();
});
});
app.listen(3000, () => console.log('Server running on port 3000'));
Mi történik DEMO módban?
Amikor ezt a kódot DEMO módban futtatja:
- létrejön egy QR-kód, amely vizuálisan megegyezik az éles változattal
- 3 másodperc után a munkamenet automatikusan befejeződik
- szintetikus ellenőrzési adatok érkeznek vissza (
age_over_18: true,countryAllowed: true) - az
onVerifiedcallback megkapja az eredményt
Valódi tárca nem vesz részt a folyamatban. Így az EUDI Tárcák indulása előtt felépítheti és letesztelheti a teljes UI- és backendfolyamatot.
Következő lépések
- Váltson MOCK módra, ha konfigurálható válaszokat szeretne tesztelni (siker, hiba, timeout)
- Adja hozzá a WooCommerce plugint a WordPress-áruházához a pénztári ellenőrzéshez
- Olvassa el az API referenciát a haladó konfigurációhoz (egyedi QR-stílusok, munkamenet-opciók, hibakezelés)
- Csatlakozzon a GitHub-beszélgetésekhez, ha hibát jelentene vagy funkciót kérne
Amikor az EUDI Tárcák 2026 decemberében elindulnak, a mode: 'demo' értéket cserélje mode: 'production'-re, és adja meg a WRPAC hitelesítő adatait, vagy használja az eIDAS Pro menedzselt szolgáltatását, hogy elkerülje a tanúsítványkezelést.
Az OpenEUDI MIT licencű. Az SDK jelenleg fejlesztés alatt áll; jelölje be a GitHub-tárhelyet, hogy értesüljön az első nyilvános kiadásról.
Kapcsolódó cikkek
Bemutatkozik az OpenEUDI: nyílt forráskódú SDK az EU digitális személyazonosság-ellenőrzéséhez
Nyílt forráskódúvá tesszük azt a központi protokollkönyvtárat, amely az eIDAS Prót működteti. Az OpenEUDI egy ingyenes, MIT licencű TypeScript SDK az EUDI Tárca-ellenőrzés bármely webalkalmazásba történő integrálásához.
8 perc olvasás
Az OpenID4VP megértése: az EU digitális személyazonosság-tárcái mögötti protokoll
Műszaki mélyelemzés az OpenID4VP-ről, arról a protokollról, amelyet az EUDI Tárcák használnak ellenőrzött attribútumok megosztására a vállalkozásokkal. Hogyan működik, miért fontos, és hogyan valósítja meg az OpenEUDI.
12 perc olvasás
Cikk megosztása
Segítsen másoknak megismerni az eIDAS-ellenőrzést