Repository navigation
Releases: fliqa-io/interledger
Release list
1.1.0
Changed
-
BREAKING:
InterledgerApiClient.finalizeGrant(OutgoingPayment, String)now requires three
additional parameters:finalizeGrant(OutgoingPayment outgoingPayment, String interactRef, String hash, String clientNonce, URI grantEndpoint).
Before theinteract_refreturned from the user's wallet is used to finalize the grant, the
implementation now verifies thehashquery parameter returned alongside it on the interaction
callback, per the GNAP interaction hash check
(draft-ietf-gnap-core-protocol §4.2.3).
This prevents a forged callback from being used to hijack a payment grant.Migration: callers must now also pass the
hashquery parameter from the callback URL, the
clientNonceoriginally passed tocontinueGrant(...), and the sender'sauthServerURI
(grantEndpoint) used for the original grant request:- client.finalizeGrant(outgoingPayment, interactRef); + client.finalizeGrant(outgoingPayment, interactRef, hash, clientNonce, sender.authServer);
If the computed hash doesn't match,
finalizeGrantnow throwsInterledgerClientException
instead of proceeding with an unverifiedinteract_ref.
Added
GrantAccessRequest.verifyInteractionHash(String clientNonce, String asNonce, String interactRef, String hash, URI grantEndpoint)-
static helper implementing the GNAP interaction hash check, usable independently offinalizeGrant.
Full changelog: 1.0.3...1.1.0
1.0.3
Added
- Outgoing payment request retrieval (
getOutgoingPaymentRequest). - Token rotation support for outgoing payment status checks.
Changed
- Integration test now verifies grant confirmation/denial via the outgoing payment resource
instead of the (now removed)/outgoing-payment-grantendpoint, matching the updated
Open Payments resource server spec. - Updated the handcrafted OpenAPI spec (
src/main/resources/api) to reflect changes in the
upstream Open Payments spec (updatedAtfields on incoming/outgoing payments, grant spend
amounts folded into the outgoing payment representation).
Full changelog: 1.0.2...1.0.3