This environment is intended for testing issuance workflows and conducting interoperability sessions. For enquiries or support, please contact support@igrant.io

Session Detail

Inspect a single issuance session

5Xta2N7JmcP4wvjDzT3Tjw

token_exchanged
pre-authorized_code


eu.europa.ec.eudi.pid_mdoc

Supply Claims

Submit claims for a credential configuration in this session (for deferred issuance).

Session Logs

14 total
2026-06-15 12:32:44 error /credential Holder proof validation failed
Data:
{
  "expected": "One of: `jwk` (inline JWK), `x5c` (X.509 certificate chain), or `key_attestation` (key attestation JWT with attested_keys)",
  "header_params": [
    "alg",
    "kid",
    "typ"
  ],
  "help": "Include the holder\u0027s public key in the JWT proof header using one of:\n  1. `jwk`: {\"kty\":\"EC\",\"crv\":\"P-256\",\"x\":\"...\",\"y\":\"...\"}\n  2. `x5c`: [\"\u003cbase64-DER-encoded-certificate\u003e\"]\n  3. `key_attestation`: \"\u003ckey-attestation-jwt\u003e\" (with kid referencing a key in attested_keys)",
  "proof_type": "jwt",
  "reason": "JWT proof header does not contain a holder public key. Found header parameters: [\u0027alg\u0027, \u0027kid\u0027, \u0027typ\u0027]. The header contains `kid` (\"did:jwk:eyJrdHkiOiJFQyIsImNydiI6IlAtMjU2IiwieCI6IjNhTkZ6WHFkYWpnQTh2U2RqQ1RLUk5H...\") but `kid` alone is not sufficient \u2014 the issuer cannot resolve external key references. The holder\u0027s public key material must be included directly.",
  "spec_ref": "OID4VCI Section 8.2.1.1 / Appendix F.1"
}
2026-06-15 12:32:44 debug /credential Credential configuration resolved
Data:
{
  "config_id": "eu.europa.ec.eudi.pid_mdoc",
  "credential_identifier": null
}
2026-06-15 12:32:44 debug /credential Credential request body
Data:
{
  "credential_configuration_id": "eu.europa.ec.eudi.pid_mdoc",
  "proofs": {
    "jwt": [
      "eyJhbGciOiJFUzI1NiIsImtpZCI6ImRpZDpqd2s6ZXlKcmRIa2lPaUpGUXlJc0ltTnlkaUk2SWxBdE1qVTJJaXdpZUNJNklqTmhUa1o2V0hGa1lXcG5RVGgyVTJScVExUkxVazVIYURGcVpWcFZYMjR6U2pWRlRGSkNSRWhVV1djaUxDSjVJam9pUldjNVNtTllUMUZCYTA1UloyeFJRekZOYXpGV1ZrMXFTVTlLVUhwT1Z6ZzNNWGh1TVdGdFowSnNVU0o5IzAiLCJ0eXAiOiJvcGVuaWQ0dmNpLXByb29mK2p3dCJ9.eyJpYXQiOjE3ODE1MjY3NjQsImF1ZCI6Imh0dHBzOi8vYXBpLnBsYXlncm91bmQuZnJhbmNlLWlkZW50aXRlLmdvdXYuZnIvaWdyYW50aW8vaXNzdWVyLWJhY2tlbmQiLCJub25jZSI6ImlxUjUtY0NKOHNoT2FfNDNIMW1Ld1JiRjZoSDJ5QSJ9.b6W8pIS-hhO3-3eERo0jJQH2PhGk-nnpt73v47VU8fUN1Uh9Od4ejZmwKgD23MvCWUT0oUrIjeoo3SfzwKKT0w"
    ]
  }
}
2026-06-15 12:32:44 info /credential Credential request received
Data:
{
  "credential_configuration_id": "eu.europa.ec.eudi.pid_mdoc",
  "credential_identifier": null,
  "headers": {
    "accept": "*/*",
    "accept-encoding": "gzip",
    "authorization": "Bearer EkpqHfgaFGuVBCqW1K7u5raFFHp_ST3lpbiw3DGthps",
    "content-length": "662",
    "content-type": "application/json",
    "host": "api.playground.france-identite.gouv.local:32689",
    "traceparent": "00-c44c29b18e80dddfaf5aa6836c24bd41-0d04e57b617eda11-00",
    "tracestate": "",
    "via": "1.1 Caddy",
    "x-envoy-attempt-count": "1",
    "x-envoy-external-address": "10.42.7.1",
    "x-envoy-original-path": "/igrantio/issuer-backend/credential",
    "x-forwarded-client-cert": "By=spiffe://cluster.local/ns/igrantio/sa/igrantio-playground-unfold;Hash=a159e3a95787a9a0c4e280d252488fb000dd19877195dd97941e09f109148636;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",
    "x-forwarded-for": "176.219.114.244, 127.0.0.1,10.42.7.1",
    "x-forwarded-host": "api.playground.france-identite.gouv.fr",
    "x-forwarded-proto": "https",
    "x-forwarded-server": "api.playground.france-identite.gouv.fr",
    "x-request-id": "1c85c238-7b61-4fca-9c28-fb9187820277"
  },
  "is_dpop": false,
  "proofs_present": true
}
2026-06-15 12:32:44 info /token Access token issued
Data:
{
  "credential_configuration_ids": [
    "eu.europa.ec.eudi.pid_mdoc"
  ],
  "dpop_bound": false,
  "expires_in": 86400,
  "token_type": "Bearer"
}
2026-06-15 12:32:44 debug /token Authorization details resolved
Data:
{
  "auth_details": null,
  "claims_data_present": false,
  "credential_configuration_ids": [
    "eu.europa.ec.eudi.pid_mdoc"
  ]
}
2026-06-15 12:32:44 info /token Token request received (pre-authorized_code)
Data:
{
  "authorization_details_present": false,
  "client_id": null,
  "dpop_present": false,
  "grant_type": "pre-authorized_code",
  "tx_code_present": true
}
2026-06-15 12:32:44 info /token Wallet attestation validated
Data:
{
  "client_id": "http://10.77.51.49:3000/TubitakWallet",
  "wallet_provider": "http://10.77.51.49:3000"
}
2026-06-15 12:32:44 debug /token Token request received
Data:
{
  "form_body": {
    "grant_type": "urn:ietf:params:oauth:grant-type:pre-authorized_code",
    "pre-authorized_code": "67fN33bj4gcgvALDNKct1i9YPsd9x5HMk8cIPe0qI3g",
    "tx_code": "1234"
  },
  "headers": {
    "accept": "*/*",
    "accept-encoding": "gzip",
    "content-length": "150",
    "content-type": "application/x-www-form-urlencoded",
    "host": "api.playground.france-identite.gouv.local:32689",
    "oauth-client-attestation": "eyJhbGciOiJFUzI1NiIsInR5cCI6Im9hdXRoLWNsaWVudC1hdHRlc3RhdGlvbitqd3QiLCJ4NWMiOlsiTUlJQ2pEQ0NBak9nQXdJQkFnSUNFQUF3Q2dZSUtvWkl6ajBFQXdJd2daY3hDekFKQmdOVkJBWVRBbFJTTVJBd0RnWURWUVFJREFkTGIyTmhaV3hwTVE0d0RBWURWUVFIREFWQ1lYSnBjekVRTUE0R0ExVUVDZ3dIVkhWaWFYUmhhekVyTUNrR0ExVUVDd3dpUlMxSlpHVnVkR2wwZVNCVVpXTm9ibTlzYjJkcFpYTWdSR1Z3WVhKMGJXVnVkREVuTUNVR0ExVUVBd3dlVkhWaWFYUmhheUJGVlVSSklGSmxZV1JsY2lCRFFTQXRJRlJTSURBeE1CNFhEVEkxTVRJd01UQTRNelV6T1ZvWERUSTJNVEl3TVRBNE16VXpPVm93UXpFTE1Ba0dBMVVFQmd3Q1ZGSXhHVEFYQmdOVkJBb01FRlIxWW1sMFlXc2dWbVZ5YVdacFpYSXhHVEFYQmdOVkJBTU1FRlIxWW1sMFlXc2dWbVZ5YVdacFpYSXdXVEFUQmdjcWhrak9QUUlCQmdncWhrak9QUU1CQndOQ0FBUS9hS0o0YjhublZnbEhKbnMrdDVOeDNYV3pOQXkzK2Q2Nm1xV25ka3NYTTVFbithMU8wTDQxdmVLRkRid0tPQUQvUVZVMzJZam1pMDUxSjJ6cDlMRVNvNEhCTUlHK01Bd0dBMVVkRXdFQi93UUNNQUF3RGdZRFZSMFBBUUgvQkFRREFnV2dNQk1HQTFVZEpRUU1NQW9HQ0NzR0FRVUZCd01DTUIwR0ExVWREZ1FXQkJTc0VsZ3RwbVYzNUxVSVNKTzErRkNXVHJ2b0xEQkpCZ05WSFJFRVFqQkFnaHgyWlhKcFptbGxjaTVsZFdScExuUjFZbWwwWVdzdVoyOTJMblJ5Z2lCM2QzY3VkbVZ5YVdacFpYSXVaWFZrYVM1MGRXSnBkR0ZyTG1kdmRpNTBjakFmQmdOVkhTTUVHREFXZ0JTamMrTlJQRDFCbWowS3RnUzJRS0N4R09IdVlEQUtCZ2dxaGtqT1BRUURBZ05IQURCRUFpQk9lMVRISy9FRnJaWXZTblE3eG9xdWNMN1N2VFlmTzZibkdQa24ydUJlMUFJZ1M4VUZqK2RVMHdjR2c1WHNUUVkrU01sZDAvYWxJQ1k0cXRmcGlZZExXclE9IiwiTUlJRE1EQ0NBdGFnQXdJQkFnSVVEMUtWdzU2V3VQbG1RNm45a0Naam9uYUZQMkV3Q2dZSUtvWkl6ajBFQXdJd2daY3hDekFKQmdOVkJBWVRBbFJTTVJBd0RnWURWUVFJREFkTGIyTmhaV3hwTVE0d0RBWURWUVFIREFWQ1lYSnBjekVRTUE0R0ExVUVDZ3dIVkhWaWFYUmhhekVyTUNrR0ExVUVDd3dpUlMxSlpHVnVkR2wwZVNCVVpXTm9ibTlzYjJkcFpYTWdSR1Z3WVhKMGJXVnVkREVuTUNVR0ExVUVBd3dlVkhWaWFYUmhheUJGVlVSSklGSmxZV1JsY2lCRFFTQXRJRlJTSURBeE1CNFhEVEkxTVRFeU56RXlNakl6TWxvWERUTTFNVEV5TlRFeU1qSXpNbG93Z1pjeEN6QUpCZ05WQkFZVEFsUlNNUkF3RGdZRFZRUUlEQWRMYjJOaFpXeHBNUTR3REFZRFZRUUhEQVZDWVhKcGN6RVFNQTRHQTFVRUNnd0hWSFZpYVhSaGF6RXJNQ2tHQTFVRUN3d2lSUzFKWkdWdWRHbDBlU0JVWldOb2JtOXNiMmRwWlhNZ1JHVndZWEowYldWdWRERW5NQ1VHQTFVRUF3d2VWSFZpYVhSaGF5QkZWVVJKSUZKbFlXUmxjaUJEUVNBdElGUlNJREF4TUZrd0V3WUhLb1pJemowQ0FRWUlLb1pJemowREFRY0RRZ0FFbVpJbDVFSERzTlkvWlZRZTUxMUZKRkhva3luSW9GUjFOWTZ1QjEyaDRNUDNSVllON0tISzY5OVdOQzJwaTZLLzEwU1I0Y3RCM0VEbnIwSkYzZVhpVnFPQi9UQ0IrakFTQmdOVkhSTUJBZjhFQ0RBR0FRSC9BZ0VBTUE0R0ExVWREd0VCL3dRRUF3SUJCakFkQmdOVkhRNEVGZ1FVbzNQalVUdzlRWm85Q3JZRXRrQ2dzUmpoN21Bd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3RXdTUVlEVlIwZkJFSXdRREErb0R5Z09vWTRhSFIwY0RvdkwyVjFaR2t1WW1sc1oyVnRMblIxWW1sMFlXc3VaMjkyTG5SeUwyTnliQzlVUWxSTFgxSmxZV1JsY2w5RFFTNWpjbXd3VlFZSUt3WUJCUVVIQVFFRVNUQkhNRVVHQ0NzR0FRVUZCekFDaGpsb2RIUndPaTh2WlhWa2FTNWlhV3huWlcwdWRIVmlhWFJoYXk1bmIzWXVkSEl2WTJWeWRDOVVRbFJMWDFKbFlXUmxjbDlEUVM1amNuUXdDZ1lJS29aSXpqMEVBd0lEU0FBd1JRSWhBUHlkUFYvdHJoWkRLRDdaTlgyam0rV1h3ZnZWUzE2UmJaMDBlQkhxY01IVkFpQnR4NEp5RHFVUjRvTEpsMFV0SlRJRGlBYUtGVUlFakQwcmVHcWJNbEU0cEE9PSJdfQ.eyJpYXQiOjE3ODE1MjY3NjQsImV4cCI6MTc4MTYxMzE2NCwibmJmIjoxNzgxNTI2NzY0LCJpc3MiOiJodHRwOi8vMTAuNzcuNTEuNDk6MzAwMCIsInN1YiI6Imh0dHA6Ly8xMC43Ny41MS40OTozMDAwL1R1Yml0YWtXYWxsZXQiLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiYjJHbFg2VGN4cFJoQko0QjZIb1ZLV3J6Q0REUG9seDAtbkEzODFuTDZxYyIsInkiOiJvS1Q4bmRWZlRQUWhUR2U3M2hMSEdXckMySVBHS1lGUWdwRTg4cEp3d0pzIn19LCJ3YWxsZXRfbmFtZSI6IlR1Yml0YWtXYWxsZXQiLCJ3YWxsZXRfbGluayI6Imh0dHA6Ly8xMC43Ny41MS40OTozMDAwL3NzaS93YWxsZXQtcHJvdmlkZXIvdjEvVHViaXRha1dhbGxldCIsImV1ZGlfd2FsbGV0X2luZm8iOnsiZ2VuZXJhbF9pbmZvIjp7IndhbGxldF9wcm92aWRlcl9uYW1lIjoiVHViaXRha1dhbGxldCIsIndhbGxldF9zb2x1dGlvbl9pZCI6IlRCVEtfQ09SRSIsIndhbGxldF9zb2x1dGlvbl92ZXJzaW9uIjoiMSJ9LCJ3c2NkX2luZm8iOnsid3NjZF90eXBlIjoiSFlCUklEIn19fQ.HNQPNE4szaceZH5MDg08uhJBat8sNsOwZrYz36a-3XRXSZTUAYY4Db9OEtmmeFblwQWB-eEOH2DoS8A4FRBo4Q",
    "oauth-client-attestation-pop": "eyJhbGciOiJFUzI1NiIsInR5cCI6Im9hdXRoLWNsaWVudC1hdHRlc3RhdGlvbi1wb3Arand0In0.eyJpYXQiOjE3ODE1MjY3NjQsImV4cCI6MTc4MTUzMDM2NCwibmJmIjoxNzgxNTI2NzY0LCJpc3MiOiJodHRwOi8vMTAuNzcuNTEuNDk6MzAwMC9UdWJpdGFrV2FsbGV0IiwiYXVkIjoiaHR0cHM6Ly9hcGkucGxheWdyb3VuZC5mcmFuY2UtaWRlbnRpdGUuZ291di5mci9pZ3JhbnRpby9pc3N1ZXItYmFja2VuZCIsImp0aSI6IjcyOTJmOTM1LTliMTMtNGIwYy1iOTg5LTVmZTA5MDhhMzM5NSJ9.tX0QYYdKdYL6vZz-vyXh3shwderwasCOiap0INZSvOiO5DSYN3Re7lYw9nes3CsplDrU-F2v4neBXim9vnZwbA",
    "traceparent": "00-720e9799a923bb71bbafc7b4b604d502-02e4fdab3bb2dcd1-00",
    "tracestate": "",
    "via": "1.1 Caddy",
    "x-envoy-attempt-count": "1",
    "x-envoy-external-address": "10.42.7.1",
    "x-envoy-original-path": "/igrantio/issuer-backend/token",
    "x-forwarded-client-cert": "By=spiffe://cluster.local/ns/igrantio/sa/igrantio-playground-unfold;Hash=a159e3a95787a9a0c4e280d252488fb000dd19877195dd97941e09f109148636;Subject=\"\";URI=spiffe://cluster.local/ns/istio-system/sa/istio-ingressgateway-service-account",
    "x-forwarded-for": "176.219.114.244, 127.0.0.1,10.42.7.1",
    "x-forwarded-host": "api.playground.france-identite.gouv.fr",
    "x-forwarded-proto": "https",
    "x-forwarded-server": "api.playground.france-identite.gouv.fr",
    "x-request-id": "f6d46440-17fd-42f5-a3da-ca02ce1839eb"
  },
  "require_wallet_attestation": false,
  "wa_provided": true,
  "wa_validated_at_par": false
}
2026-06-15 12:32:30 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "goszPVKQLtRnL5ldf8PHTQ"
}
2026-06-15 12:32:30 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "goszPVKQLtRnL5ldf8PHTQ"
}
2026-06-15 12:32:18 info /credential_offers Credential offer created
Data:
{
  "credential_offer": {
    "credential_configuration_ids": [
      "eu.europa.ec.eudi.pid_mdoc"
    ],
    "credential_issuer": "https://api.playground.france-identite.gouv.fr/igrantio/issuer-backend",
    "grants": {
      "urn:ietf:params:oauth:grant-type:pre-authorized_code": {
        "pre-authorized_code": "67fN33bj4gcgvALDNKct1i9YPsd9x5HMk8cIPe0qI3g",
        "tx_code": {
          "input_mode": "numeric",
          "length": 4
        }
      }
    }
  },
  "grant_type": "pre-authorized_code",
  "offer_id": "goszPVKQLtRnL5ldf8PHTQ"
}
2026-06-15 12:32:18 info /credential_offers Pre-authorized code created
Data:
{
  "code": "67fN33bj4gcgvALDNKct1i9YPsd9x5HMk8cIPe0qI3g",
  "credential_configuration_ids": [
    "eu.europa.ec.eudi.pid_mdoc"
  ],
  "tx_code_present": true
}
2026-06-15 12:32:18 info /credential_offers Credential offer requested
Data:
{
  "claims_present": false,
  "credential_configuration_ids": [
    "eu.europa.ec.eudi.pid_mdoc"
  ],
  "grants": {
    "pre_authorized_code": true,
    "tx_code": {
      "input_mode": "numeric",
      "length": 4,
      "value": "1234"
    }
  },
  "require_key_attestation": false,
  "require_wallet_attestation": false,
  "subject_id": null
}

Events

4 total
Type Timestamp Details
token_exchanged 2026-06-15 12:32:44 {'grant_type': 'pre-authorized_code'}
offer_retrieved 2026-06-15 12:32:30 None
offer_retrieved 2026-06-15 12:32:30 None
offer_created 2026-06-15 12:32:18 {'credential_configuration_ids': ['eu.europa.ec.eudi.pid_mdoc']}