{
"_comment": "auth/oob/* wire fixtures. `outbound` is what this service emitted with its local wire types before they were replaced by trust_tasks_rs::specs::auth::oob (captured from the old types, key-sorted as serde_json::Value writes them); `inbound` are schema-valid payloads a starter or wallet sends. oob::tests::wire_fixtures_round_trip pins both.",
"inbound": {
"cancel": {
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"claim": {
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"grant": {
"approverKey": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2",
"contextDigest": "zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR",
"decision": "approve",
"notAfter": 1790003600,
"origin": "https://control.example.com",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"sessionKey": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
},
"grantDecline": {
"approverKey": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2",
"contextDigest": "zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR",
"decision": "decline",
"notAfter": 1790003600,
"origin": "https://control.example.com",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"sessionKey": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
},
"identify": {
"approverKey": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2",
"enteredNumber": "42",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"prove": {
"identify": {
"id": "urn:uuid:11111111-1111-4111-8111-111111111111",
"issuedAt": "2026-09-21T14:13:30Z",
"issuer": "did:webvh:QmMember:members.example.com",
"payload": {
"approverKey": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2",
"enteredNumber": "42",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"proof": {
"created": "2026-09-21T14:13:30Z",
"cryptosuite": "eddsa-jcs-2022",
"proofPurpose": "authentication",
"proofValue": "z3FXQjecWufY46yg5abdVZsXqLhxhueuSoZgNSARiKBk9czhSePTFehP8c3PGfb6a22gkfUKKiZaBkbbYK2iRmwX3",
"type": "DataIntegrityProof",
"verificationMethod": "did:webvh:QmMember:members.example.com#key-0"
},
"recipient": "did:webvh:QmScid:control.example.com",
"type": "https://trusttasks.org/spec/auth/oob/identify/0.1"
}
},
"redeem": {
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"request": {
"mode": "scan",
"purpose": "login"
},
"requestWithExt": {
"ext": {
"com.example.portal": {
"theme": "dark"
}
},
"mode": "scan",
"purpose": "login"
},
"respond": {
"grant": {
"id": "urn:uuid:22222222-2222-4222-8222-222222222222",
"issuedAt": "2026-09-21T14:13:40Z",
"issuer": "did:webvh:QmMember:members.example.com",
"payload": {
"approverKey": "did:key:z6MkrJVnaZkeFzdQyMZu1cgjg7k1pZZ6pvBQ7XJPt4swbTQ2",
"contextDigest": "zQmbWqxBEKC3P8tqsKc98xmWNzrzDtRLMiMPL8wBuTGsMnR",
"decision": "approve",
"notAfter": 1790003600,
"origin": "https://control.example.com",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"sessionKey": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
},
"proof": {
"created": "2026-09-21T14:13:40Z",
"cryptosuite": "eddsa-jcs-2022",
"proofPurpose": "assertionMethod",
"proofValue": "z3FXQjecWufY46yg5abdVZsXqLhxhueuSoZgNSARiKBk9czhSePTFehP8c3PGfb6a22gkfUKKiZaBkbbYK2iRmwX3",
"type": "DataIntegrityProof",
"verificationMethod": "did:webvh:QmMember:members.example.com#key-0"
},
"recipient": "did:webvh:QmScid:control.example.com",
"type": "https://trusttasks.org/spec/auth/oob/grant/0.1"
}
}
},
"outbound": {
"cancel": {
"status": "cancelled"
},
"claim": {
"decisionDeadline": 1790000120,
"origin": "https://control.example.com",
"purpose": "login",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"service": {
"did": "did:webvh:QmScid:control.example.com",
"name": "control.example.com"
}
},
"prove": {
"decisionDeadline": 1790000120,
"identifiedAs": "did:webvh:QmMember:members.example.com",
"origin": "https://control.example.com",
"purpose": "login",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"requester": {
"browser": "Firefox",
"createdAt": "2026-09-21T14:13:20Z",
"location": "unknown",
"os": "macOS",
"sameNetwork": true
},
"service": {
"did": "did:webvh:QmScid:control.example.com",
"name": "control.example.com"
},
"sessionKey": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
},
"proveUnknownNetwork": {
"decisionDeadline": 1790000120,
"identifiedAs": "did:webvh:QmMember:members.example.com",
"origin": "https://control.example.com",
"purpose": "login",
"requestId": "AAAAAAAAAAAAAAAAAAAAAA",
"requester": {
"browser": "Firefox",
"createdAt": "2026-09-21T14:13:20Z",
"location": "unknown",
"os": "macOS",
"sameNetwork": "unknown"
},
"service": {
"did": "did:webvh:QmScid:control.example.com",
"name": "control.example.com"
},
"sessionKey": "did:key:z6MkhaXgBZDvotDkL5257faiztiGiC2QtKLGpbnnEGta2doK"
},
"redeem": {
"amr": [
"did",
"oob",
"uv"
],
"displayName": "Alice",
"ext": {
"com.affinidi.did-hosting": {
"tokens": {
"accessToken": "a",
"refreshToken": "r"
}
}
},
"notAfter": 1790003600,
"subject": "did:webvh:QmMember:members.example.com"
},
"redeemNoExt": {
"amr": [
"did",
"oob",
"uv"
],
"displayName": "Alice",
"notAfter": 1790003600,
"subject": "did:webvh:QmMember:members.example.com"
},
"request": {
"claimDeadline": 1790000120,
"requestId": "AAAAAAAAAAAAAAAAAAAAAA"
},
"respondApproved": {
"status": "approved"
},
"respondDeclined": {
"status": "declined"
}
}
}