You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
update get started docs with the changes from v0.100.0 migration (#86)
* migate get started guide to use multipaz v0.100.0
Signed-off-by: VishnuSanal <t.v.s10123@gmail.com>
* update backlinks after get started migration
Signed-off-by: VishnuSanal <t.v.s10123@gmail.com>
---------
Signed-off-by: VishnuSanal <t.v.s10123@gmail.com>
Copy file name to clipboardExpand all lines: docs/getting-started/1-issuer.md
+18-18Lines changed: 18 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ kotlin {
47
47
}
48
48
```
49
49
50
-
Refer to **[this provisioning build.gradle.kts code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/feature/provisioning/build.gradle.kts)** for the complete example.
50
+
Refer to **[this provisioning build.gradle.kts code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/feature/provisioning/build.gradle.kts)** for the complete example.
51
51
52
52
Also add the dependency in `composeApp/build.gradle.kts`:
53
53
@@ -63,7 +63,7 @@ kotlin {
63
63
}
64
64
```
65
65
66
-
Refer to **[this composeApp build.gradle.kts code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/build.gradle.kts#L47)** for the complete example.
66
+
Refer to **[this composeApp build.gradle.kts code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/build.gradle.kts#L47)** for the complete example.
Refer to [**this libs.versions.toml code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/gradle/libs.versions.toml#L50-L54) for the complete example.
89
+
Refer to [**this libs.versions.toml code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/gradle/libs.versions.toml#L50-L54) for the complete example.
90
90
91
91
Update `core/build.gradle.kts`:
92
92
@@ -116,7 +116,7 @@ kotlin {
116
116
}
117
117
```
118
118
119
-
Refer to [**this build.gradle.kts code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/build.gradle.kts#L27-L49) for the complete example.
119
+
Refer to [**this build.gradle.kts code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/build.gradle.kts#L27-L49) for the complete example.
120
120
121
121
### **iOS Setup**
122
122
@@ -184,7 +184,7 @@ If you prefer to edit the XML directly, add the following to your `Info.plist` f
184
184
</array>
185
185
```
186
186
187
-
Refer to **[this Info.plist code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/iosApp/iosApp/Info.plist#L7-L39)** for the complete example.
187
+
Refer to **[this Info.plist code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/iosApp/iosApp/Info.plist#L7-L39)** for the complete example.
188
188
189
189
#### **Step 2: Configure ContentView.swift**
190
190
@@ -202,7 +202,7 @@ struct ContentView: View {
202
202
}
203
203
```
204
204
205
-
Refer to **[this ContentView.swift code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/iosApp/iosApp/ContentView.swift)** for the complete example.
205
+
Refer to **[this ContentView.swift code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/iosApp/iosApp/ContentView.swift)** for the complete example.
206
206
207
207
#### **Step 3: Implement URL Handler in MainViewController.kt**
208
208
@@ -220,7 +220,7 @@ fun HandleUrl(url: String) {
220
220
}
221
221
```
222
222
223
-
Refer to **[this MainViewController.kt code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/iosMain/kotlin/org/multipaz/getstarted/MainViewController.kt)** for the complete example.
223
+
Refer to **[this MainViewController.kt code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/iosMain/kotlin/org/multipaz/getstarted/MainViewController.kt)** for the complete example.
Refer to [**this AndroidManifest.xml code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/androidMain/AndroidManifest.xml#L60-L126) for the complete example.
301
+
Refer to [**this AndroidManifest.xml code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/androidMain/AndroidManifest.xml#L60-L126) for the complete example.
302
302
303
303
### Choosing a link strategy
304
304
@@ -349,7 +349,7 @@ class MainActivity : FragmentActivity() {
349
349
}
350
350
```
351
351
352
-
Refer to [**this MainActivity.kt code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/androidMain/kotlin/org/multipaz/getstarted/MainActivity.kt#L14-L48) for the complete example.
352
+
Refer to [**this MainActivity.kt code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/androidMain/kotlin/org/multipaz/getstarted/MainActivity.kt#L14-L48) for the complete example.
353
353
354
354
## **Initialize Issuance in App**
355
355
@@ -393,7 +393,7 @@ class App {
393
393
}
394
394
```
395
395
396
-
Refer to [**this initialization code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L46-L78) for the complete example.
396
+
Refer to [**this initialization code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L46-L78) for the complete example.
397
397
398
398
2. Add URL handling for credential offers and app links:
399
399
@@ -426,7 +426,7 @@ class App {
426
426
}
427
427
```
428
428
429
-
Refer to [**this URL handling code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L80-L95) for the complete example.
429
+
Refer to [**this URL handling code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L80-L95) for the complete example.
430
430
431
431
3. Wire the issuance loop and provisioning bottom sheet in `Content()` composable:
432
432
@@ -497,7 +497,7 @@ class App {
497
497
498
498
The `ProvisioningBottomSheet` composable is placed outside the `NavHost` — it overlays the current screen as a bottom sheet when provisioning is active, and dismisses automatically when complete. `clientPreferences` and `backend` are passed as `kotlinx.coroutines.CompletableDeferred` so the bottom sheet can suspend until the wallet back-end is ready.
499
499
500
-
Refer to [**this UI implementation code**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L97-L207) for the complete example.
500
+
Refer to [**this UI implementation code**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/App.kt#L97-L207) for the complete example.
501
501
502
502
4. Implement `httpClientEngineFactory` in `Platform.kt`
503
503
@@ -506,7 +506,7 @@ Refer to [**this UI implementation code**](https://github.com/openwallet-foundat
See the [**`commonMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
509
+
See the [**`commonMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
510
510
511
511
#### Android Implementation
512
512
@@ -517,7 +517,7 @@ actual val httpClientEngineFactory: HttpClientEngineFactory<*> by lazy {
517
517
}
518
518
```
519
519
520
-
See the [**`androidMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/androidMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
520
+
See the [**`androidMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/androidMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
521
521
522
522
#### iOS Implementation
523
523
@@ -528,7 +528,7 @@ actual val httpClientEngineFactory: HttpClientEngineFactory<*> by lazy {
528
528
}
529
529
```
530
530
531
-
See the [**`iosMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/iosMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
531
+
See the [**`iosMain/Platform.kt`**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/iosMain/kotlin/org/multipaz/getstarted/core/Platform.kt) file for the complete implementation.
532
532
533
533
5. Add a button to the Multipaz Issuer Website
534
534
@@ -582,7 +582,7 @@ private fun DocumentSection(
582
582
}
583
583
```
584
584
585
-
Refer to **[this code from `HomeScreen.kt`](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/HomeScreen.kt#L206-L221)** for the full implementation
585
+
Refer to **[this code from `HomeScreen.kt`](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/composeApp/src/commonMain/kotlin/org/multipaz/getstarted/HomeScreen.kt#L206-L221)** for the full implementation
You can refer to the [**full `ProvisioningSupport` file here**](https://github.com/openwallet-foundation/multipaz-samples/blob/84f40a73f9fb4bd6f4d38c00d5130df622f0e938/MultipazGettingStartedSample/feature/provisioning/src/commonMain/kotlin/org/multipaz/getstarted/provisioning/ProvisioningSupport.kt).
664
+
You can refer to the [**full `ProvisioningSupport` file here**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/feature/provisioning/src/commonMain/kotlin/org/multipaz/getstarted/provisioning/ProvisioningSupport.kt).
@@ -690,7 +690,7 @@ class OpenID4VCILocalBackend : OpenID4VCIBackend {
690
690
}
691
691
```
692
692
693
-
You can copy-paste the [**`OpenID4VCILocalBackend` file for the complete implementation**](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/feature/provisioning/src/commonMain/kotlin/org/multipaz/getstarted/provisioning/OpenID4VCILocalBackend.kt).
693
+
You can copy-paste the [**`OpenID4VCILocalBackend` file for the complete implementation**](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/feature/provisioning/src/commonMain/kotlin/org/multipaz/getstarted/provisioning/OpenID4VCILocalBackend.kt).
Copy file name to clipboardExpand all lines: docs/getting-started/getting-started.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ We have split this guide into three parts. Each of which is split into the type
38
38
* On how to deploy an issuance server.
39
39
* This page focuses on how to issue verifiable credentials to users in a secure and standards-compliant way, following protocols like OpenID4VCI
40
40
41
-
The implementations used in this guide can be found **[here in the sample repository](https://github.com/openwallet-foundation/multipaz-samples/tree/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample)**.
41
+
The implementations used in this guide can be found **[here in the sample repository](https://github.com/openwallet-foundation/multipaz-samples/tree/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample)**.
Copy file name to clipboardExpand all lines: docs/getting-started/holder/01-storage.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -54,7 +54,7 @@ interface AppContainer {
54
54
}
55
55
```
56
56
57
-
Refer to **[this AppContainer code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainer.kt#L16-L19)** for the complete example.
57
+
Refer to **[this AppContainer code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainer.kt#L16-L19)** for the complete example.
58
58
59
59
* Now, override them in the implementation class
60
60
@@ -114,4 +114,4 @@ object CredentialDomains {
114
114
}
115
115
```
116
116
117
-
Refer to **[this storage code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L62-L66)** for the complete example.
117
+
Refer to **[this storage code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L63-L67)** for the complete example.
Copy file name to clipboardExpand all lines: docs/getting-started/holder/02-documentstore.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -39,7 +39,7 @@ interface AppContainer {
39
39
}
40
40
```
41
41
42
-
Refer to **[this AppContainer code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainer.kt#L21-L22)** for the complete example.
42
+
Refer to **[this AppContainer code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainer.kt#L21-L22)** for the complete example.
@@ -71,4 +71,4 @@ class AppContainerImpl : AppContainer {
71
71
72
72
By clearly structuring the setup of `DocumentTypeRepository` and `DocumentStore`, you ensure your app is ready to manage identity documents securely and efficiently. Always perform this setup early in your app lifecycle, after initializing storage and secure areas.
73
73
74
-
Refer to **[this DocumentStore code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L68-L75)** for the complete example.
74
+
Refer to **[this DocumentStore code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L69-L76)** for the complete example.
Copy file name to clipboardExpand all lines: docs/getting-started/holder/03-creation.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,7 +22,7 @@ val validFrom = now
22
22
val validUntil = now +365.days
23
23
```
24
24
25
-
Refer to **[this timestamp code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L80-L84)** for the complete example.
25
+
Refer to **[this timestamp code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L81-L85)** for the complete example.
26
26
27
27
#### 2. Generate IACA Certificate
28
28
@@ -35,7 +35,7 @@ val iacaCert =
35
35
36
36
These certificate files can be downloaded from the following links. They should be placed inside `core/src/commonMain/composeResources/files`:
We are embedding IACA certificate into the app right now. In a production environment you'll them load from a server.
41
41
@@ -60,7 +60,7 @@ val dsCert = MdocUtil.generateDsCertificate(
60
60
)
61
61
```
62
62
63
-
Refer to **[this DS certificate code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L86-L99)** for the complete example.
63
+
Refer to **[this DS certificate code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L87-L100)** for the complete example.
64
64
65
65
#### 4. Creating a Document
66
66
@@ -77,7 +77,7 @@ if (documentStore.listDocuments().isEmpty()) {
77
77
}
78
78
```
79
79
80
-
Refer to **[this document creation code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L101-L124)** for the complete example.
80
+
Refer to **[this document creation code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L102-L125)** for the complete example.
81
81
82
82
#### 5. Create the mDoc Credential
83
83
@@ -110,7 +110,7 @@ if (documentStore.listDocuments().isEmpty()) {
110
110
111
111
By following these steps, you can securely create and provision an mDoc credential, ready to be managed and used within your application.
112
112
113
-
Refer to **[this MdocCredential creation code](https://github.com/openwallet-foundation/multipaz-samples/blob/3f65d0c88e97c7d0ade2b9ac80ded625a23cd553/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L77-L124)** for the complete example.
113
+
Refer to **[this MdocCredential creation code](https://github.com/openwallet-foundation/multipaz-samples/blob/36906be0fd4c686460a1cb5bfd3cc27868ba12b0/MultipazGettingStartedSample/core/src/commonMain/kotlin/org/multipaz/getstarted/core/AppContainerImpl.kt#L78-L125)** for the complete example.
114
114
115
115
:::info Looking for a more realistic flow?
116
116
The example above uses helpful defaults for quick onboarding. If you're exploring how to construct credentials manually — including MSO creation, issuer namespaces, and authentication — check out this [advanced sample](https://github.com/dzuluaga/multipaz-getting-started-testing/blob/v1.1.0-age-verification/composeApp/src/commonMain/kotlin/org/example/project/App.kt#L539-L727) created by a core contributor.
0 commit comments