Skip to content

Commit 6ac70e0

Browse files
authored
extend client metadata (#156)
Signed-off-by: Johannes Tuerk <johannes.tuerk@lissi.id>
1 parent 1276afa commit 6ac70e0

File tree

2 files changed

+39
-3
lines changed

2 files changed

+39
-3
lines changed

src/WalletFramework.Oid4Vc/Oid4Vp/Models/ClientMetadata.cs

Lines changed: 30 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,18 +18,46 @@ public record ClientMetadata
1818
/// </summary>
1919
[JsonProperty("client_name")]
2020
public string? ClientName { get; }
21+
22+
/// <summary>
23+
/// The URI of a web page providing information about the client (verifier).
24+
/// </summary>
25+
[JsonProperty("client_uri")]
26+
public string? ClientUri { get; }
27+
28+
/// <summary>
29+
/// The ways to contact people responsible for this client (verifier).
30+
/// </summary>
31+
[JsonProperty("contacts")]
32+
public string[]? Contacts { get; }
2133

2234
/// <summary>
2335
/// The URI of the logo of the client (verifier).
2436
/// </summary>
2537
[JsonProperty("logo_uri")]
2638
public string? LogoUri { get; }
39+
40+
/// <summary>
41+
/// The URI to a human-readable privacy policy document for the client (verifier).
42+
/// </summary>
43+
[JsonProperty("policy_uri")]
44+
public string? PolicyUri { get; }
45+
46+
/// <summary>
47+
/// The URI to a human-readable terms of service document for the client (verifier).
48+
/// </summary>
49+
[JsonProperty("tos_uri")]
50+
public string? TosUri { get; }
2751

2852
[JsonConstructor]
29-
private ClientMetadata(string? clientName, string? logoUri, string[] redirectUris)
53+
private ClientMetadata(string? clientName, string? clientUri, string[]? contacts, string? logoUri, string? policyUri, string? tosUri, string[] redirectUris)
3054
{
3155
ClientName = clientName;
56+
ClientUri = clientUri;
57+
Contacts = contacts;
3258
LogoUri = logoUri;
59+
PolicyUri = policyUri;
60+
TosUri = tosUri;
3361
RedirectUris = redirectUris;
3462
}
35-
}
63+
}

test/WalletFramework.Oid4Vc.Tests/Oid4Vp/Services/Oid4VpHaipClientTests.cs

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,11 @@ public class Oid4VpHaipClientTests
2222
{
2323
["logo_uri"] = "https://some.de/logo",
2424
["client_name"] = "Some Verifier",
25-
["redirect_uris"] = new JArray("https://verifier.com/redirect-uri")
25+
["client_uri"] = "https://some.de",
26+
["contacts"] = new JArray("Any contact"),
27+
["redirect_uris"] = new JArray("https://verifier.com/redirect-uri"),
28+
["policy_uri"] = "https://some.de/policy",
29+
["tos_uri"] = "https://some.de/tos",
2630
}
2731
.ToString();
2832

@@ -62,7 +66,11 @@ public async Task CanProcessAuthorizationRequest()
6266
authorizationRequest.Nonce.Should().Be("87554784260280280442092184171274132458");
6367
authorizationRequest.PresentationDefinition.Id.Should().Be("4dd1c26a-2f46-43ae-a711-70888c93fb4f");
6468
authorizationRequest.ClientMetadata.ClientName.Should().Be("Some Verifier");
69+
authorizationRequest.ClientMetadata.ClientUri.Should().Be("https://some.de");
70+
authorizationRequest.ClientMetadata.Contacts.First().Should().Be("Any contact");
6571
authorizationRequest.ClientMetadata.LogoUri.Should().Be("https://some.de/logo");
72+
authorizationRequest.ClientMetadata.PolicyUri.Should().Be("https://some.de/policy");
73+
authorizationRequest.ClientMetadata.TosUri.Should().Be("https://some.de/tos");
6674
authorizationRequest.ClientMetadata.RedirectUris.First().Should().Be("https://verifier.com/redirect-uri");
6775

6876
var inputDescriptor = authorizationRequest.PresentationDefinition.InputDescriptors.First();

0 commit comments

Comments
 (0)