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
| Client id scheme |`pre-registered`, `redirect_uri`, `did`|
11
+
| Signed authorization request verification algorithms | ed25519 |
12
+
| Obtaining authorization request | By value, By reference ( via `request_uri` method) <br> _[Note: Authorization request by value is not supported for the did client ID scheme, as it requires a signed request. Instead, a Request URI should be used to fetch the signed authorization request ([reference](https://openid.net/specs/openid-4-verifiable-presentations-1_0-21.html#section-3.2))]_|
13
+
| Obtaining presentation definition in authorization request | By value, By reference (via `presentation_definition_uri`) |
-**_request uri_** is also supported as part of this version.
45
+
- When request_uri is passed as part of the authorization request, below are the fields we expect in the authorization request,
46
+
* client_id
47
+
* client_id_scheme
48
+
* request_uri
49
+
* request_uri_method
50
+
51
+
- The request uri can return either a jwt token/encoded if it is a jwt the signature is verified as mentioned in the specification.
52
+
- The client id and client id scheme from the authorization request and the client id and client id scheme received from the response of the request uri should be same.
53
+
- VC format supported is Ldp Vc as of now.
54
+
55
+
**Note** : The pre-registered client id scheme validation can be toggled on/off based on the optional boolean which you can pass to the authenticateVerifier methods shouldValidateClient parameter. This is false by default.
56
+
## Functionalities
57
+
58
+
- Decode and parse the Verifier's encoded Authorization Request received from the Wallet.
59
+
- Authenticates the Verifier using the received clientId and returns the valid Presentation Definition to the Wallet.
60
+
- Receives the list of verifiable credentials(VC's) from the Wallet which are selected by the Wallet end user based on the credentials requested as part of Verifier Authorization request.
61
+
- Constructs the verifiable presentation and send it to wallet for generating Json Web Signature (JWS).
62
+
- Receives the signed Verifiable presentation and sends a POST request with generated vp_token and presentation_submission to the Verifier response_uri endpoint.
63
+
64
+
**Note** : Fetching Verifiable Credentials by passing [Scope](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-using-scope-parameter-to-re) param in Authorization Request is not supported by this library.
65
+
66
+
## Library implementations available in:
67
+
68
+
This library is officially supported and available in both Kotlin and Swift, ensuring seamless integration across Android and iOS platforms. The references for both implementations are provided below:
| Client id scheme |`pre-registered`, `redirect_uri`, `did`|
11
-
| Signed authorization request verification algorithms | ed25519 |
12
-
| Obtaining authorization request | By value, By reference ( via `request_uri` method) <br> _[Note: Authorization request by value is not supported for the did client ID scheme, as it requires a signed request. Instead, a Request URI should be used to fetch the signed authorization request ([reference](https://openid.net/specs/openid-4-verifiable-presentations-1_0-21.html#section-3.2))]_|
13
-
| Obtaining presentation definition in authorization request | By value, By reference (via `presentation_definition_uri`) |
14
-
| Authorization Response mode |`direct_post`|
15
-
| Authorization Response type |`vp_token`|
16
-
17
-
18
-
19
-
## Specifications supported
20
-
- The implementation follows OpenID for Verifiable Presentations - draft 21. [Specification](https://openid.net/specs/openid-4-verifiable-presentations-1_0-21.html).
21
-
- Below are the fields we expect in the authorization request based on the client id scheme,
-**_Request Uri_** is also supported as part of this version.
44
-
- When request_uri is passed as part of the authorization request, below are the fields we expect in the authorization request,
45
-
* client_id
46
-
* client_id_scheme
47
-
* request_uri
48
-
* request_uri_method
49
-
50
-
- The request uri can return either a jwt token/encoded if it is a jwt the signature is verified as mentioned in the specification.
51
-
- The client id and client id scheme from the authorization request and the client id and client id scheme received from the response of the request uri should be same.
52
-
- VC format supported is Ldp Vc as of now.
53
-
54
-
**Note** : The pre-registered client id scheme validation can be toggled on/off based on the optional boolean which you can pass to the authenticateVerifier methods shouldValidateClient parameter. This is false by default.
55
-
## Functionalities
56
-
57
-
- Decode and parse the Verifier's encoded Authorization Request received from the Wallet.
58
-
- Authenticates the Verifier using the received clientId and returns the valid Presentation Definition to the Wallet.
59
-
- Receives the list of verifiable credentials(VC's) from the Wallet which are selected by the Wallet end user based on the credentials requested as part of Verifier Authorization request.
60
-
- Constructs the verifiable presentation and send it to wallet for generating Json Web Signature (JWS).
61
-
- Receives the signed Verifiable presentation and sends a POST request with generated vp_token and presentation_submission to the Verifier response_uri endpoint.
62
-
63
-
**Note** : Fetching Verifiable Credentials by passing [Scope](https://openid.net/specs/openid-4-verifiable-presentations-1_0.html#name-using-scope-parameter-to-re) param in Authorization Request is not supported by this library.
0 commit comments