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
Adds support for chained authorization code flows within the OpenID4VCI credential issuance. This means that external authorization servers can be leveraged to authenticate or identify the user. The access token from this external authorization server can be then used during the issuance process in order to, for example, fetch credential data from an external resource server.
refactor(openid4vc): the OpenID4VC module now requires a top-level `app` property instead of a `router` for the `OpenId4VcVerifierModule` and `OpenId4VcIssuerModule`.
6
+
7
+
Using the `app` directly simplifies the setup, as you don't have to register the routers at the correct paths anymore on your express app.
8
+
9
+
We do recommend that you register your custom routes AFTER the Credo OpenID4VC routes have been registered, to ensure your custom middleware does not clash with Credo's routes.
10
+
11
+
The reason for changing the router to an `app` is that we need to host files at the top-level `.well-known` path of the server, which is not easily doable with the custom router approach.
12
+
13
+
If no app is provided, and the issuer or verifier module is enabled, a new app instance will be created.
Copy file name to clipboardExpand all lines: README.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
@@ -51,7 +51,7 @@ See [Supported Features](https://credo.js.org/guides/features) on the Credo webs
51
51
52
52
- 🏃 **Platform agnostic** - out of the box support for Node.JS and React Native
53
53
- 🔒 **DIDComm and AIP** - Support for [DIDComm v1](https://hyperledger.github.io/aries-rfcs/latest/concepts/0005-didcomm/), and both v1 and v2 of the [Aries Interop Profile](https://github.com/hyperledger/aries-rfcs/blob/main/concepts/0302-aries-interop-profile/README.md).
54
-
- 🛂 **Extendable [DID](https://www.w3.org/TR/did-core/) resolver and registrar** - out of the box support for `did:web`, `did:key`, `did:jwk`, `did:peer`, `did:sov`, `did:indy`, `did:cheqd` and `did:hedera`.
54
+
- 🛂 **Extendable [DID](https://www.w3.org/TR/did-core/) resolver and registrar** - out of the box support for `did:web`, `did:webvh`, `did:key`, `did:jwk`, `did:peer`, `did:sov`, `did:indy`, `did:cheqd` and `did:hedera`.
55
55
- 🔑 **[OpenID4VC](https://openid.net/sg/openid4vc/)** - support for [OpenID for Verifiable Credential Issuance](https://openid.net/specs/openid-4-verifiable-credential-issuance-1_0.html), [OpenID for Verifiable Presentations](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html) and [Self-Issued OpenID Provider v2](https://openid.net/specs/openid-connect-self-issued-v2-1_0.html).
56
56
- 🪪 **Multiple credential formats** - [W3C Verifiable Credential Data Model v1.1](https://www.w3.org/TR/vc-data-model/), [SD-JWT VCs](https://www.ietf.org/archive/id/draft-ietf-oauth-sd-jwt-vc-03.html), and [AnonCreds](https://hyperledger.github.io/anoncreds-spec/).
57
57
- 🏢 **Multi-tenant** - Optional multi-tenant module for managing multiple tenants under a single agent.
Copy file name to clipboardExpand all lines: demo-openid/README.md
+18-1Lines changed: 18 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@ Alice, a former student of Faber College, connects with the College, is issued a
7
7
## Features
8
8
9
9
- ✅ Issuing a credential without authorization (pre-authorized code flow).
10
-
- ✅ Issuing a credenital with external authorization server (authorization code flow)
10
+
- ✅ Issuing a credential with external authorization server (authorization code flow)
11
11
- ✅ Resolving a credential offer.
12
12
- ✅ Accepting a credential offer.
13
13
- ✅ Requesting a credential presentation.
@@ -135,3 +135,20 @@ This will open three proxies. You should then run your demo environments with th
135
135
-`PROVIDER_HOST=https://d404-123-123-123-123.ngrok-free.app ISSUER_HOST=https://d738-123-123-123-123.ngrok-free.app pnpm provider` (ngrok url for port 3042)
136
136
-`PROVIDER_HOST=https://d404-123-123-123-123.ngrok-free.app ISSUER_HOST=https://d738-123-123-123-123.ngrok-free.app pnpm issuer` (ngrok url for port 2000)
137
137
-`VERIFIER_HOST=https://1d91-123-123-123-123.ngrok-free.app pnpm verifier` (ngrok url for port 4000)
138
+
139
+
### Optional Google Account API for Chained Identity
140
+
141
+
You can also configure external identity providers in order to be able to use their access tokens to fetch specific data for credentials. In this demo, we have an integration with Google Account OpenID Connect API, which provides an ID Token with information we then use to put on the credential itself.
142
+
143
+
To set this up, you need to create an account in [Google Cloud](https://console.cloud.google.com/auth/overview) platform, and configure a client with the correct domain. In this case, you need a proxy since the URL is not allowed to be `localhost`.
144
+
145
+
In addition, the following scopes are necessary:
146
+
147
+
-`openid`
148
+
-`https://www.googleapis.com/auth/userinfo.email`
149
+
150
+
Once you have the client ID and client secret from the Google integration, please start the issuer as follows:
0 commit comments