kych

OAuth 2.0 API for Swiyu to enable Taler integration of Swiyu for KYC (experimental)
Log | Files | Refs

commit d223de3768571b89b7f7a780eeb1fced07beebe1
parent 270c0bf87cc6f51cccc78f462a3e56ee6caf4bfc
Author: Henrique Chan Carvalho Machado <henriqueccmachado@tecnico.ulisboa.pt>
Date:   Mon, 13 Oct 2025 12:42:24 +0200

Added API endpoints, notes

Diffstat:
Mdocumentation/swiyu_taler_sequence_diagram.txt | 26+++++++++++++++++---------
1 file changed, 17 insertions(+), 9 deletions(-)

diff --git a/documentation/swiyu_taler_sequence_diagram.txt b/documentation/swiyu_taler_sequence_diagram.txt @@ -11,20 +11,28 @@ participant SwiyuWallet TalerWallet->Exchange: Initiate KYC-required operation Exchange->TalerWallet: Send verification link TalerWallet->Browser: Open link -Browser->Exchange: Select id verification method (Swiyu) -Exchange->Oauth2Gateway: POST /api/v1/setup (specifies scope of info) +Browser->Exchange: Select verification method (Swiyu) + +note over Exchange,Oauth2Gateway: Exchange initiates KYC verification process +Exchange->Oauth2Gateway: POST /kyc/authorize (scope, client_id) Oauth2Gateway->SwiyuVerifier: POST /management/api/verifications -SwiyuVerifier->Oauth2Gateway: Generate QR code (verification_url) -Oauth2Gateway->Exchange: Send QR code +SwiyuVerifier->Oauth2Gateway: Send verificationn_url +Oauth2Gateway->Exchange: Send verification_url QR code and verificationId (in response body) Exchange->Browser: Send QR code Browser->SwiyuWallet: Scan QR code SwiyuWallet->SwiyuVerifier: GET /oid4vp/api/request-object/{request_id} -SwiyuWallet->SwiyuVerifier: POST /oid4vp/api/request-object/{request_id}/response-data +SwiyuWallezt->SwiyuVerifier: POST /oid4vp/api/request-object/{request_id}/response-data + +note over Oauth2Gateway,Exchange: Oauth2Gateway notifies Exchange asynchronously via webhook SwiyuVerifier->Oauth2Gateway: Webhook (verification complete) -Oauth2Gateway->Exchange: Notify data ready -Exchange->Oauth2Gateway: Request verifiable proof +Oauth2Gateway->Exchange: POST /oauth2gw/kyc/notify (verificationId) + +note over Exchange,Oauth2Gateway: Exchange retrieves the final proof (Verifiable Credential) +Exchange->Oauth2Gateway: GET /kyc/info/{verificationId} Oauth2Gateway->SwiyuVerifier: GET /management/api/verifications/{verificationId} -SwiyuVerifier->Oauth2Gateway: Send proof -Oauth2Gateway->Exchange: Send proof +SwiyuVerifier->Oauth2Gateway: Send proof (Verifiable Credential) +Oauth2Gateway->Exchange: Send proof (in response body) + Exchange->Browser: Notify success TalerWallet->Exchange: Retry original operation +