Configure It Yourself
Use this page to build the Sky Pass setup manually instead of importing the declarative bundle. Pick this path when you want to see exactly what gets created, adapt the setup to your own project, or learn the moving parts step by step.
Complete the environment steps in Set Up the Sample first — get ThunderID behind a public URL, point it at that URL, start it, and get the Wayfinder sample and the Skyline Lounge running. Then return here and follow the steps below instead of the bundle import.
The first section is the shared foundation — required regardless of which walkthrough you run. The remaining sections build on it.
- Set Up the Foundation — create the
Customeruser type and John Doe's account. - Set Up the Sky Pass Credential — needed for Issue Credential.
- Set Up the Lounge Presentation — needed for Verify Credential.
- Register the Wallet Clients — needed for both walkthroughs.
Set Up the Foundation
The Sky Pass claims come from the credential subject's profile. The tryout needs a Customer user type with the loyalty attributes, and a test user (John Doe) whose values become the issued credential.
-
Create the
Customeruser type.Navigate to User Types and create a new type. Set the name to
Customer(category: User) and add the following attributes:Attribute Type Properties usernamestring Required, unique passwordstring Required, credential emailstring Required, unique given_namestring Optional family_namestring Optional full_namestring Optional member_idstring Optional tierstring Optional See User Types.
-
Create John Doe.
Navigate to Users and create a new user of type
Customer. Set these values — they are what the walkthrough signs in as and what appears in the issued credential:Attribute Value usernamejohn.doepasswordjohn.doeemailjohn.doe@example.comgiven_nameJohnfamily_nameDoefull_nameJohn Doemember_idWF-100245tierGold
Set Up the Sky Pass Credential
The credential configuration defines what ThunderID issues over OpenID4VCI. In the Console, navigate to Verifiable Credentials → Templates and create a new template:
- Name: Wayfinder Sky Pass
- Handle (identifier / scope):
wayfinder-skypass— the create wizard auto-derives the handle from the name (aswayfinder-sky-pass); change it towayfinder-skypassso it matches the sample's frontend and kiosk. - Type (
vct):urn:wayfinder:skypass:1 - Claims:
full_name,given_name,family_name,email,member_id,tier— each sourced from the subject's profile and individually disclosable (SD-JWT).
The credential configuration's identifier doubles as the OAuth scope the wallet requests, so no extra scope registration is needed.
Set Up the Lounge Presentation
The presentation definition is what the Skyline Lounge asks the wallet to disclose. In the Console, navigate to Verifiable Credentials → Presentations and create a new definition:
- Name: Skyline Lounge Access
- Handle (identifier):
wayfinder-skypass— as with the credential, override the auto-derived handle so it stayswayfinder-skypass(the kiosk requests this definition by that id). - Type (
vct):urn:wayfinder:skypass:1 - Mandatory claims:
tier - Optional claims:
full_name
Because only tier and full_name are requested, the wallet discloses just those two of the pass's six claims — the rest stay hidden.
Register the Wallet Clients
Each wallet vendor uses a fixed OAuth client_id and redirect URI for the OpenID4VCI flow, so register one application per wallet you want to support.
Using the Console (recommended)
In the Console, go to Applications → Add Application and select Digital Wallet as the application type. On the Connect Your Wallet step, pick Heidi from the wallet dropdown — the Console pre-fills the client ID (c3ce7a6c-2bbb-4abe-909c-41bc9463d3c5) and redirect URI (ch.ubique.funke://issuance) automatically. Set Allowed User Types to Customer and finish the wizard. Repeat for Lissi (pre-fills 9c481dc3-2ad0-4fe0-881d-c32ad02fe0fc / https://oob.lissi.io/vci-cb).
With the foundation, credential, presentation, and wallet clients in place, continue to Issue Credential.