agentsclimarketplace

Igrantio issuer frontend

Skill L3-iGrant/skills/ows/igrantio-issuer-frontend

Build the browser UI for an OpenID4VCI credential ISSUER against the iGrant.io Organisation Wallet Suite. Request in-time or deferred issuance through your tenant backend proxy, render the credential-offer QR (or same-device deep link) for an EUDI Wallet (EUDIW) or European Business Wallet (EUBW), and reflect live status over SSE (offer scanned → credential accepted). Composes igrantio-frontend-client; talks to igrantio-issuer-backend.From its SKILL.md

Install
npx -y skills add L3-iGrant/skills --skill igrantio-issuer-frontend

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its file declares

Copied from the file, not written here

The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.

SKILL.md

4.2 KB, 865 tokens by cl100k_base, as published. Nobody here has run it

iGrant.io issuer frontend (OpenID4VCI)

When to use

Build the issuer-side UI: a user requests a credential, scans a QR (or taps a same-device deep link), and the page updates the instant the wallet accepts. Depends on igrantio-frontend-client (vendored at src/lib/ows/) and an igrantio-issuer-backend deployment. Verifier UI is a separate skill (igrantio-verifier-frontend).

Before you build: run the integrator intake in igrantio-ows-overview - environment, API key, tenancy, backend host, webhooks, frontend - one question at a time, a recommended default with each.

What it provides

  • useIssuance({ proxyBaseUrl, webhookBaseUrl }){ status, offerUri, credentialExchangeId, error, issueInTime, issueDeferred, reset }.
    • issueInTime(payload) - claims known now.
    • issueDeferred(startRequest, claims) - create the offer now; the hook pushes the claims automatically on the offer_received webhook.
    • status: idle → offer_ready → scanned → issued (or error).
  • IssuerFlow - a minimal end-to-end demo component.

Flow (what happens)

  1. POST …/credential/issue → read credentialHistory.CredentialExchangeId (SSE key) and credentialHistory.credentialOffer (QR URI).
  2. Open SSE on the exchange id; render the QR / same-device button. For the full QR panel (optional centre logo, green tick on scan, refresh, open-in-wallet button, tx-code block) use igrantio-qr-code - it asks the integrator about the logo and tick options.
  3. SSE data.credential.status:
    • offer_received → (deferred) push claims via PUT …/credential/history/{id}.
    • credential_accepted / token_issueddone, close SSE.

Steps

  1. Vendor igrantio-frontend-client/references/lib/ows into src/lib/ows/.
  2. Copy ./references/features/issuer into src/features/issuer/.
  3. npm i qrcode @types/qrcode (for QrCode).
  4. Wire it up:
    <IssuerFlow
      proxyBaseUrl="https://host/ows/acme"
      webhookBaseUrl="https://host/webhook"
      credentialDefinitionId="<cred-def-id>"
      claims={{ given_name: "Lars", family_name: "Johansson" }}
    />
    
    Replace the demo's hard-coded payload with your form; for namespaced formats (mdoc) nest claims under the namespace, e.g. { "org.iso.18013.5.1": { … } }.

Clean-code notes

  • No @igrant/* SDK; OWS specifics live in the client, flow logic in the hook, presentation in the component - swap the UI without touching the flow.
  • The QR URI and exchange id are the only two response fields the UI needs.

Validation / done criteria

  • Scanning the QR with a wallet drives status to issued within ~1s of accept.
  • Deferred issuance pushes claims exactly once (on offer_received).
  • No OWS API key is present anywhere in the browser bundle.

Documentation & workflows

When anything is unclear, consult the iGrant.io documentation before guessing:

What ships with it: 15 files

29.6 KB alongside SKILL.md, 11 of them executable

Keep looking

Skills are one crate of 326,506. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.