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

6FDcY9tVtannVazW8PAsog

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

16 total
2026-06-15 12:24:46 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "PDJf74JQak3WJdIiFyLf7w"
}
2026-06-15 12:24:46 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "PDJf74JQak3WJdIiFyLf7w"
}
2026-06-15 12:23:30 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:key:zDnaeeH3FnYzvUoLfCsmgHNg8GWiptCH6RCeZh7KoThANjEfe#zDnaeeH3FnYzvUoLfCsmgH...\") 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:23:30 debug /credential Credential configuration resolved
Data:
{
  "config_id": "eu.europa.ec.eudi.pid_mdoc",
  "credential_identifier": null
}
2026-06-15 12:23:30 debug /credential Credential request body
Data:
{
  "credential_configuration_id": "eu.europa.ec.eudi.pid_mdoc",
  "proofs": {
    "jwt": [
      "eyJhbGciOiJFUzI1NiIsImtpZCI6ImRpZDprZXk6ekRuYWVlSDNGbll6dlVvTGZDc21nSE5nOEdXaXB0Q0g2UkNlWmg3S29UaEFOakVmZSN6RG5hZWVIM0ZuWXp2VW9MZkNzbWdITmc4R1dpcHRDSDZSQ2VaaDdLb1RoQU5qRWZlIiwidHlwIjoib3BlbmlkNHZjaS1wcm9vZitqd3QifQ.eyJpYXQiOjE3ODE1MjYyMTAsImF1ZCI6Imh0dHBzOi8vYXBpLnBsYXlncm91bmQuZnJhbmNlLWlkZW50aXRlLmdvdXYuZnIvaWdyYW50aW8vaXNzdWVyLWJhY2tlbmQiLCJub25jZSI6ImdKQktvSUw2WUN3cmZkZUhZNE43UzRObDZ0XzNRZyJ9.qtECbwOk6Ns8ucOuWPv4B3vTAvaZs5rA76xqUxFX9QYDMfjfTOmSGSh8qI6lTq9QnIhLgSh8c8Pm5sBO6dh9zg"
    ]
  }
}
2026-06-15 12:23:30 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 8iylPl8JsgiPQ0w9Hnc0WeajXYEVUfmQZN-viUYOCZs",
    "content-length": "568",
    "content-type": "application/json",
    "host": "api.playground.france-identite.gouv.local:32689",
    "traceparent": "00-58c1c3fb58306c9832c8de77fffc4d5d-c259004cc63ab2e7-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": "7cdda983-bed1-462d-81f1-bc3cb676e32f"
  },
  "is_dpop": false,
  "proofs_present": true
}
2026-06-15 12:23:30 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:23:30 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:23:30 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:23:30 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:23:30 debug /token Token request received
Data:
{
  "form_body": {
    "grant_type": "urn:ietf:params:oauth:grant-type:pre-authorized_code",
    "pre-authorized_code": "3cWVv2jIhIJoT2CfDLRh3xYnuACcgm6Uwh7VWJ2W_6w",
    "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.eyJpYXQiOjE3ODE1MjYyMDksImV4cCI6MTc4MTYxMjYwOSwibmJmIjoxNzgxNTI2MjA5LCJpc3MiOiJodHRwOi8vMTAuNzcuNTEuNDk6MzAwMCIsInN1YiI6Imh0dHA6Ly8xMC43Ny41MS40OTozMDAwL1R1Yml0YWtXYWxsZXQiLCJjbmYiOnsiandrIjp7Imt0eSI6IkVDIiwiY3J2IjoiUC0yNTYiLCJ4IjoiYjJHbFg2VGN4cFJoQko0QjZIb1ZLV3J6Q0REUG9seDAtbkEzODFuTDZxYyIsInkiOiJvS1Q4bmRWZlRQUWhUR2U3M2hMSEdXckMySVBHS1lGUWdwRTg4cEp3d0pzIn19LCJ3YWxsZXRfbmFtZSI6IlR1Yml0YWtXYWxsZXQiLCJ3YWxsZXRfbGluayI6Imh0dHA6Ly8xMC43Ny41MS40OTozMDAwL3NzaS93YWxsZXQtcHJvdmlkZXIvdjEvVHViaXRha1dhbGxldCIsImV1ZGlfd2FsbGV0X2luZm8iOnsiZ2VuZXJhbF9pbmZvIjp7IndhbGxldF9wcm92aWRlcl9uYW1lIjoiVHViaXRha1dhbGxldCIsIndhbGxldF9zb2x1dGlvbl9pZCI6IlRCVEtfQ09SRSIsIndhbGxldF9zb2x1dGlvbl92ZXJzaW9uIjoiMSJ9LCJ3c2NkX2luZm8iOnsid3NjZF90eXBlIjoiSFlCUklEIn19fQ.b1QVd79aqntU7WK2SEJP9TuEBQjGJ7mupzAtbm6LIxO7S0efY_5jEV202nT3W0dR4PoUnBDQ7GIDVmFRD_dJlw",
    "oauth-client-attestation-pop": "eyJhbGciOiJFUzI1NiIsInR5cCI6Im9hdXRoLWNsaWVudC1hdHRlc3RhdGlvbi1wb3Arand0In0.eyJpYXQiOjE3ODE1MjYyMDksImV4cCI6MTc4MTUyOTgwOSwibmJmIjoxNzgxNTI2MjA5LCJpc3MiOiJodHRwOi8vMTAuNzcuNTEuNDk6MzAwMC9UdWJpdGFrV2FsbGV0IiwiYXVkIjoiaHR0cHM6Ly9hcGkucGxheWdyb3VuZC5mcmFuY2UtaWRlbnRpdGUuZ291di5mci9pZ3JhbnRpby9pc3N1ZXItYmFja2VuZCIsImp0aSI6ImQ2MDQ5MGZkLTFiZTQtNDkzNC1hNzEzLThhYzc2OWZhOTdjOSJ9.WQB2I1qCFN6QPwknu5svvH_066hC4DYg96TuskPWCkwRhujwq399kkxpLKk9blvISqd28j7W9bn1_T_tpHRGFw",
    "traceparent": "00-58a948217aaa2f36bfd44a5adf078655-3c6e681323668a33-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": "b9d721eb-44c5-427d-8781-f10dc7ed3959"
  },
  "require_wallet_attestation": false,
  "wa_provided": true,
  "wa_validated_at_par": false
}
2026-06-15 12:23:17 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "PDJf74JQak3WJdIiFyLf7w"
}
2026-06-15 12:23:16 info /credential_offers Credential offer retrieved by wallet
Data:
{
  "offer_id": "PDJf74JQak3WJdIiFyLf7w"
}
2026-06-15 12:22:58 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": "3cWVv2jIhIJoT2CfDLRh3xYnuACcgm6Uwh7VWJ2W_6w",
        "tx_code": {
          "input_mode": "numeric",
          "length": 4
        }
      }
    }
  },
  "grant_type": "pre-authorized_code",
  "offer_id": "PDJf74JQak3WJdIiFyLf7w"
}
2026-06-15 12:22:58 info /credential_offers Pre-authorized code created
Data:
{
  "code": "3cWVv2jIhIJoT2CfDLRh3xYnuACcgm6Uwh7VWJ2W_6w",
  "credential_configuration_ids": [
    "eu.europa.ec.eudi.pid_mdoc"
  ],
  "tx_code_present": true
}
2026-06-15 12:22:58 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

6 total
Type Timestamp Details
offer_retrieved 2026-06-15 12:24:46 None
offer_retrieved 2026-06-15 12:24:46 None
token_exchanged 2026-06-15 12:23:30 {'grant_type': 'pre-authorized_code'}
offer_retrieved 2026-06-15 12:23:17 None
offer_retrieved 2026-06-15 12:23:16 None
offer_created 2026-06-15 12:22:58 {'credential_configuration_ids': ['eu.europa.ec.eudi.pid_mdoc']}