Skip to content

Commit f2d4506

Browse files
authored
adjust dpop (#136)
Signed-off-by: Kevin <kevin.dinh@lissi.id>
1 parent f9b3ee9 commit f2d4506

File tree

5 files changed

+12
-14
lines changed

5 files changed

+12
-14
lines changed

src/WalletFramework.Oid4Vc/Oid4Vci/Authorization/DPop/Abstractions/IDPopHttpClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ public interface IDPopHttpClient
66
{
77
internal Task<DPopHttpResponse> Post(
88
Uri requestUri,
9-
HttpContent content,
10-
DPopConfig config);
9+
DPopConfig config,
10+
Func<HttpContent> getContent);
1111
}

src/WalletFramework.Oid4Vc/Oid4Vci/Authorization/DPop/Implementations/DPopHttpClient.cs

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ public DPopHttpClient(
3131

3232
public async Task<DPopHttpResponse> Post(
3333
Uri requestUri,
34-
HttpContent content,
35-
DPopConfig config)
34+
DPopConfig config,
35+
Func<HttpContent> getContent)
3636
{
3737
var dPop = await _keyStore.GenerateDPopProofOfPossessionAsync(
3838
config.KeyId,
@@ -44,9 +44,7 @@ public async Task<DPopHttpResponse> Post(
4444
token => _httpClient.WithDPopHeader(dPop).WithAuthorizationHeader(token),
4545
() => _httpClient.WithDPopHeader(dPop));
4646

47-
var response = await httpClient.PostAsync(
48-
requestUri,
49-
content);
47+
var response = await httpClient.PostAsync(requestUri, getContent());
5048

5149
await ThrowIfInvalidGrantError(response);
5250

@@ -63,7 +61,7 @@ public async Task<DPopHttpResponse> Post(
6361

6462
httpClient.WithDPopHeader(newDpop);
6563

66-
response = await httpClient.PostAsync(requestUri, content);
64+
response = await httpClient.PostAsync(requestUri, getContent());
6765
}
6866

6967
await ThrowIfInvalidGrantError(response);

src/WalletFramework.Oid4Vc/Oid4Vci/Authorization/Implementations/TokenService.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ public async Task<OneOf<OAuthToken, DPopToken>> RequestToken(
3838

3939
var result = await _dPopHttpClient.Post(
4040
uri,
41-
tokenRequest.ToFormUrlEncoded(),
42-
config);
41+
config,
42+
tokenRequest.ToFormUrlEncoded);
4343

4444
var token = DeserializeObject<OAuthToken>(await result.ResponseMessage.Content.ReadAsStringAsync())
4545
?? throw new InvalidOperationException("Failed to deserialize the token response");

src/WalletFramework.Oid4Vc/Oid4Vci/CredRequest/Implementations/CredentialRequestService.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ async Task<Validation<CredentialResponse>> ICredentialRequestService.RequestCred
9898
clientOptions);
9999

100100
var result = new MdocCredentialRequest(vciRequest, mdoc);
101-
return result.AsJson();
101+
return result.EncodeToJson();
102102
}
103103
);
104104

@@ -121,8 +121,8 @@ async Task<Validation<CredentialResponse>> ICredentialRequestService.RequestCred
121121

122122
var dPopResponse = await _dPopHttpClient.Post(
123123
issuerMetadata.CredentialEndpoint,
124-
content,
125-
config);
124+
config,
125+
() => content);
126126

127127
return dPopResponse.ResponseMessage;
128128
});

src/WalletFramework.Oid4Vc/Oid4Vci/CredRequest/Models/Mdoc/MdocCredentialRequest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public MdocCredentialRequest(CredentialRequest credentialRequest, MdocConfigurat
2424

2525
public static class MdocCredentialRequestFun
2626
{
27-
public static string AsJson(this MdocCredentialRequest request)
27+
public static string EncodeToJson(this MdocCredentialRequest request)
2828
{
2929
var json = request.VciRequest.EncodeToJson();
3030

0 commit comments

Comments
 (0)