did-hosting-control 0.10.1

DID Hosting Control Plane — Unified management UI and service registry
{
  "_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"
    }
  }
}