Test Summary

Test Results

Expand All Collapse All
All times are UTC
2021-06-11 14:37:28 INFO
TEST-RUNNER
Test instance wFIileyH7ez1eec created
baseUrl
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response
variant
{
  "client_auth_type": "private_key_jwt",
  "fapi_auth_request_method": "by_value",
  "fapi_profile": "plain_fapi",
  "fapi_response_mode": "plain_response"
}
alias
oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response
description
planId
ryqVk04lT1Uwf
config
{
  "alias": "oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response",
  "automated_ciba_approval_url": "https://fapi.panva.cz/ciba-sim?authReqId\u003d{auth_req_id}\u0026action\u003d{action}",
  "server": {
    "discoveryUrl": "https://fapi.panva.cz/.well-known/openid-configuration"
  },
  "client": {
    "client_id": "pkjwt-one",
    "client_name": "pkjwt-one",
    "scope": "openid offline_access",
    "jwks": {
      "keys": [
        {
          "e": "AQAB",
          "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw",
          "d": "dxzWeLBYGwOgNb-S-4RCDxz7U6lUPPZaIkrbmkpLsdDdZOkMXGg_jk2LIJ3tYgAvZkWm87ZQqKjN2ADzJmpHvu-vCLuh8ccpwaiTXfWTOjjii0-Cfq0-fT6aQpIglbwubVKi1Tqxz-AglrMnCkNICm-e0GsotXFskxhwybp8IAZP__Up1pg-G9Dg_Timtepw55HjO4xDhzY70zV2NqSDEIvKOleyIZj4JP5kCkwP4_FJw_KynXwlxKvCshtFC3U2IEWWUaUQmM8Yy1Hz2x3TqImLQTWs3EMm6oRuhS0Y4tg9VlzJqnetdd6Ulh-DFzSB37KnBZS1qvnGGG4Cri9IkQ",
          "p": "5SLM2g4Uv3Q1-PGqwKPQ8h8Onp674FTxxYAHCh8mivgCGx7uIjVaOxCKvCimi8NCgtON0a1QdGY-BT3NsewJUvaniWyb5BZo-kpdkSzXCvQpWuWT_iSorgEgl4anJ59JZH_QW7wtjRnF8jWnw-_nkNv4HIIVd7fdKKCkpGi1Drk",
          "q": "xgyjgfZdlfpne27vdlxi5VGmNnBnLRAe_a7Wgo6JdmKPMPa1qugxVM5tUhoYjUuUpHxi8gDSxb0-N_kIqTu7zp2Ly9iB8wQIyyYmdxN7J_B5bSn5rfTcu_Uz-EuYVEGfj0hk5_aNQc0y02Di1L4QrnMNRGBo3jWCCRZrjqyHfqc",
          "dp": "tc9sHeUoX1V1cedHpn0VUNiFwCSRTIn6IMzaSRS4f3IUMbLUHv6Ybt9MRco3hBRV1PrJv8K2YPWzZnNIoFF6gILIIsmz1EJX36lcHtIme0GLAt3BFNm_ofmxA6pLPawtDvo_uFpTBm-Z2frq-BSGeDGh5_Tr1cdlS1RT70RJzbk",
          "dq": "FXlVWUgfSZ3HDqkuqcTGrFq4DPsPFOHEmnkUpT9TRFTXddWqSQe4IZvoWpidxORHD7a0-8x_DhXA40zLVZ42dOa8O7QUEweC9JQEY7DnD6ORZvbALc55CKBDrE52C9y5sk2FM2mWU2YudqDwt2SMZn3vGFTjygQ_P0EBFI08e80",
          "qi": "nmJaonUO_d62824V6YmWuEX7imXdgHKRi-tY4IUDJbrm7lKEfcn_xazqilECh1xm7O8b4bj0th3JrRcs1Al0sWP1FwVHjzzmg5oqq26PvHjmtVIHn3cXGT6AmY8-eUPkYgPBc61Ej58Usazm1iuRIe-wNIBeL244kFTQK7zJfnE",
          "kty": "RSA",
          "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
          "alg": "PS256",
          "use": "sig"
        }
      ]
    },
    "hint_type": "login_hint",
    "hint_value": "panva"
  },
  "mtls": {
    "cert": "-----BEGIN CERTIFICATE-----\nMIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJD\nWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4\nMTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwG\nUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9\nqbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP\n4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r\n1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVb\nvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8L\njsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQAD\nggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjS\nozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZ\nybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3\n+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4K\nnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2h\nTfkwHHtW2BegWR/q3+q9gs7uehc\u003d\n-----END CERTIFICATE-----\n",
    "key": "-----BEGIN PRIVATE KEY-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7\nl+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwr\nJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzN\nqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa\n+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi\n3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3\nN3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVI\nawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnV\nVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9\nUhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qE\no42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD\n68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IG\nESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8v\naqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+H\nPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8X\nLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7\nyczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7T\nCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7\nl5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdsl\nFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBO\nlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpO\nx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWC\ndEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkV\nvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPU\nrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9B\nKuUEGLKAzDf1JIzseUr8jdvw\n-----END PRIVATE KEY-----\n"
  },
  "client2": {
    "client_id": "pkjwt-two",
    "client_name": "pkjwt-two",
    "scope": "openid offline_access",
    "jwks": {
      "keys": [
        {
          "e": "AQAB",
          "n": "5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw",
          "d": "ttJDnX4Z7Q3DORORHU31H74wbmidC2_tzoEwBWkeUZ6cEediQKmy1v_kcGQ4cpRXXINmhuKdaNTqSzhZlk45w6MOJ2TOtBXgPVwPiYDvThWGFuvjfDeX3FAaxZrJ5a9Jn-w4Db3L2sQT-5NBvjViU5RG54Ze4PB_m_wOiUGXEfgonv64APPBkodIz_26lJ-r4447tcdMkDw4p6xTP-y33sPB4ZOhQ5ezE4FzQlpq0K98ysKLwo8wvhQ8stxqL46avBnflgDhTsb-1I54aU3ROjThU5tkeAkudzg4lFKdd4WmVneVMD-FJ2wrkjwztqHSBCP8G9IAXBdXRxRzdJIOAQ",
          "p": "_WOUrDYt1uay8XtnaNgutctzdI6XJaf5XrGv6wE_ZoVbqEKWTnBbVfqbwkWf58CeH32tt3hUjBFicG-XAlYI8TW5Lf6H78Fmt2y3fdowLzzWLwNDoLWo1_rOGxneL-vYM1MekZyUN-uDARdEeOL9yRPFKOZm7eWSUc_Sdlu9yuc",
          "q": "6XitRdF0tFu7O7S1rQZZjqhrza53f-Ox1vCYY_Hy4Tm_1fMc7GV0VCHoQwO3ZJPlPEE0JahnfpQkhHGj67GGO40lZYEXdBwNxtktp1zdmEokbsWmacz57SVPg4pzgS9kketf-wdUbT5VgBmNWS9MPt7rKiyFbmuPcHU99fWEsaE",
          "dp": "e_5s1FC24cCGtFCU6-NOCDwExXa5U_38s2_0C-XSZpK_pXjgIIYuy8YUzl5Pv5KsTfCsP2msxdYD-80_ci8ztQV7FpzFXHehkgSrTfSlO5hjnyHTyCLc-sOKdAyWg5C_fW4hOVQL28ltk-0U3qsFUY5RHpCQsb1zeoFeFfkSyOU",
          "dq": "2tyhsh2UBa8oaeQRm02kjrMbvAidRWoxwIhykt6xDKmSSAJLTuAcmPHgRVIqjUKHVmDZfaPMwUAmq3HMdJpKd3DtaaYGUnYqBAp7XbUUljqKxLzML8pTUBf13h3gAW5oHNJFe5F3d6FDjX5mnwBTvWxDj5mEy-pQ4N9HYlbyOYE",
          "qi": "rbxxLBMPxBVpoyNfpjYtXEuem0HHvemHiGklhCbJO_N3vRu8lEarlZ_IPLrRmq7he0cNHcd4j_yhge1-0RR0LzJ4l_Wg-B1Jc0fKJrSItp8pmjmaVHbp_ToYqVlJh_AfU5tru86zSCvVycV79BvkvLl6IusDAuRK8eD1h7dU59g",
          "kty": "RSA",
          "kid": "NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0",
          "alg": "PS256",
          "use": "sig"
        }
      ]
    },
    "acr_value": "urn:mace:incommon:iap:silver"
  },
  "mtls2": {
    "cert": "-----BEGIN CERTIFICATE-----\nMIIC4DCCAcgCCQDO8JBSH914NDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJD\nWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wHhcNMTkwNjE4\nMTIzMjAxWhcNMjAwNjE3MTIzMjAxWjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwG\nUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wggEiMA0GCSqGSIb3DQEBAQUAA4IB\nDwAwggEKAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0Up\nkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6wa\nKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj\n6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdP\nxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxY\nTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAEwDQYJKoZIhvcNAQELBQAD\nggEBALsB6MGWke5vS1TB3Z+NJkC29bEIb3XGC9WaxRovH0jqaaua2AfAF7VZzUyW\nS/+r6hvWOtqUVy7YF1ThnEJXuXJG9ra2B2+F5RYNCtrVj6Bi+zDTSJ4IvQfrF0XB\nKwwOdRu7VJpAxvweA/3woKl6Cjfy20ZupPH9mxr1R78BMKgEtdFsiLwbB7MOdDbT\nLsrUcEcupXv+gZek22upQKrAk/XFP067KIqKmCEhDidxhP251SloUaruv9cHEx0a\nDKol9eR465FAiBLvg2N7qJHCKlWdn99SgN4Y3kINsuFR7Tj4QIJZNubOjV0YeOgn\nAWzRJlZD89KZAQgjj4Z215QeLxA\u003d\n-----END CERTIFICATE-----\n",
    "key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhqVAaMsvnCETz\nDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQ\nGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3\nMT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMM\nxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxa\nbXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3f\nY4Cm+zkTAgMBAAECggEASlRt2SNQPJphs7n3NkDquC3frsD4IjmDepQmOY7F/T6q\nKOYMTwOnt8cUZUMal0q5mu1p2HC4DeK+yZ8tyzCstmzqTG8vwzhMNDZblt4cfP2C\nTrAbUUcD7q18FnxoYuCB9HTcmd82tgve+DIVstYlaqcL9PkCifcloblFB/GNbToE\ndiHqRNbHvVZLMYGYsShkiyFVL61h5zkFgQCBv+kR5u3AWGGGtlhZ3dvU7+i0P7n4\ndKseQyyd9v/QcW4iW8b3f6izn4plQNcPbb4o0iAdhpnjYxCOwxc8TGZvHul/RYnl\nFGuiKUXSV/r/t/dEppsKM4moJ8n6qzsoZf6czR5NwQKBgQD+y6nJs9sNEuIBa2Jj\nEZIYhVXjVRO9XkusqN3aoKyU48X+Jg4/XDJMU6NRaMEdappo8Jgykrg0h2cNS4JD\nkrw3PwVohaR1SSwNclg7cVlH50HO6WTIrA1lAT7VXBPsxiUiKHr3nNph22chHDRw\n3qhhbluF4Nh0TXdLNwsrdcYyoQKBgQDiumS2EnCOT5uvEpW4MjFRVeLBsCt1tAuf\nVRcF2XngyfgLme0zLnQGh8ZqrHHpZmgZQBM3APnDtJ/UqzEIwg5suvrE1U2lScjv\nrpVpXr1ZiIV0Hc3wEGLcvgmZvWEtcjJfZYhNMdjbDlQo5jAPqkoJrkWV2oCubmyU\nkKma199DMwKBgAKZ16Dceib3A2GaVAXI3yHq8oaAjtQHC2S20JTzwO9AJ/xBLTIO\nYeEPlYI2PIptVSgvFI6nmsPGghHLrIe+DrfNp+N6QcSEu7NjcG0i6hNm0/Alx8aY\nowZd7eNFrlpjZ2ui2CaA7mXDVJks7YgdbcCY3MxQEEWXqNkWtcF60UwhAoGBAI6R\nWmbK7Y/vKxxJeW/bz/svIGle19Upo+1K2jFJcUQSfDD/V5JJcZfxpKjLSs3TIT5P\ndkWuDWAsohxekXTKYbupT6qZ3jtDTGC6zST29+Xm3NQJMcf05dWcgfj0hrjHCDnI\nZI71+0Czn+Qf6rTPBcNUnFkAjs4gjZJV7PB7Md7VAoGAZ/CBJI5NGWkGZjkLM4fq\nq8U2hFM9Y5IHsn9Y8vvst3+mCqcFhTS7TcYUY00qdiFXAJjiwhfGFOoc0q+AWlui\nUxB+b6FWRu73XhqkKxgBehE9i3QCrcitMufSkXKydLonfh7/PeUpB63LmMjtyLdM\nlGAIorVbtD1xAn2WaYuEb5Q\u003d\n-----END PRIVATE KEY-----\n  \n"
  },
  "resource": {
    "resourceUrl": "https://mtls.fapi.panva.cz/accounts",
    "institution_id": "xxxxx"
  },
  "browser": [
    {
      "match": "https://fapi.panva.cz/auth*",
      "tasks": [
        {
          "task": "Login",
          "optional": true,
          "match": "https://fapi.panva.cz/interaction*",
          "commands": [
            [
              "text",
              "name",
              "login",
              "foo",
              "optional"
            ],
            [
              "text",
              "name",
              "password",
              "bar",
              "optional"
            ],
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Consent",
          "optional": true,
          "match": "https://fapi.panva.cz/interaction*",
          "commands": [
            [
              "click",
              "class",
              "login-submit"
            ]
          ]
        },
        {
          "task": "Verify Complete",
          "match": "https://*/test/a/*/callback*",
          "commands": [
            [
              "wait",
              "id",
              "submission_complete",
              10
            ]
          ]
        }
      ]
    }
  ]
}
testName
fapi1-advanced-final-refresh-token
2021-06-11 14:37:28 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
2021-06-11 14:37:28
GetDynamicServerConfiguration
HTTP request
request_uri
https://fapi.panva.cz/.well-known/openid-configuration
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2021-06-11 14:37:28 RESPONSE
GetDynamicServerConfiguration
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "content-length": "1746",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:28 GMT",
  "expect-ct": "max-age\u003d0",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"acr_values_supported":["urn:mace:incommon:iap:silver"],"authorization_endpoint":"https://fapi.panva.cz/auth","claims_parameter_supported":true,"claims_supported":["sub","acr","sid","auth_time","iss"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://fapi.panva.cz/session/end","grant_types_supported":["implicit","authorization_code","refresh_token","urn:openid:params:grant-type:ciba"],"id_token_signing_alg_values_supported":["PS256"],"issuer":"https://fapi.panva.cz","jwks_uri":"https://fapi.panva.cz/jwks","registration_endpoint":"https://fapi.panva.cz/reg","response_modes_supported":["form_post","fragment","query","jwt","query.jwt","fragment.jwt","form_post.jwt"],"response_types_supported":["code id_token","code"],"scopes_supported":["openid","offline_access"],"subject_types_supported":["public"],"token_endpoint_auth_methods_supported":["private_key_jwt","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["PS256"],"token_endpoint":"https://mtls.fapi.panva.cz/token","pushed_authorization_request_endpoint":"https://mtls.fapi.panva.cz/request","request_object_signing_alg_values_supported":["PS256"],"request_parameter_supported":true,"request_uri_parameter_supported":false,"require_signed_request_object":true,"userinfo_endpoint":"https://mtls.fapi.panva.cz/accounts","authorization_signing_alg_values_supported":["PS256"],"tls_client_certificate_bound_access_tokens":true,"backchannel_authentication_endpoint":"https://mtls.fapi.panva.cz/backchannel","backchannel_token_delivery_modes_supported":["poll","ping"],"backchannel_user_code_parameter_supported":true,"backchannel_authentication_request_signing_alg_values_supported":["PS256"],"claim_types_supported":["normal"]}
2021-06-11 14:37:28
GetDynamicServerConfiguration
Downloaded server configuration
server_config_string
{"acr_values_supported":["urn:mace:incommon:iap:silver"],"authorization_endpoint":"https://fapi.panva.cz/auth","claims_parameter_supported":true,"claims_supported":["sub","acr","sid","auth_time","iss"],"code_challenge_methods_supported":["S256"],"end_session_endpoint":"https://fapi.panva.cz/session/end","grant_types_supported":["implicit","authorization_code","refresh_token","urn:openid:params:grant-type:ciba"],"id_token_signing_alg_values_supported":["PS256"],"issuer":"https://fapi.panva.cz","jwks_uri":"https://fapi.panva.cz/jwks","registration_endpoint":"https://fapi.panva.cz/reg","response_modes_supported":["form_post","fragment","query","jwt","query.jwt","fragment.jwt","form_post.jwt"],"response_types_supported":["code id_token","code"],"scopes_supported":["openid","offline_access"],"subject_types_supported":["public"],"token_endpoint_auth_methods_supported":["private_key_jwt","self_signed_tls_client_auth"],"token_endpoint_auth_signing_alg_values_supported":["PS256"],"token_endpoint":"https://mtls.fapi.panva.cz/token","pushed_authorization_request_endpoint":"https://mtls.fapi.panva.cz/request","request_object_signing_alg_values_supported":["PS256"],"request_parameter_supported":true,"request_uri_parameter_supported":false,"require_signed_request_object":true,"userinfo_endpoint":"https://mtls.fapi.panva.cz/accounts","authorization_signing_alg_values_supported":["PS256"],"tls_client_certificate_bound_access_tokens":true,"backchannel_authentication_endpoint":"https://mtls.fapi.panva.cz/backchannel","backchannel_token_delivery_modes_supported":["poll","ping"],"backchannel_user_code_parameter_supported":true,"backchannel_authentication_request_signing_alg_values_supported":["PS256"],"claim_types_supported":["normal"]}
2021-06-11 14:37:28 SUCCESS
GetDynamicServerConfiguration
Successfully parsed server configuration
acr_values_supported
[
  "urn:mace:incommon:iap:silver"
]
authorization_endpoint
https://fapi.panva.cz/auth
claims_parameter_supported
true
claims_supported
[
  "sub",
  "acr",
  "sid",
  "auth_time",
  "iss"
]
code_challenge_methods_supported
[
  "S256"
]
end_session_endpoint
https://fapi.panva.cz/session/end
grant_types_supported
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "urn:openid:params:grant-type:ciba"
]
id_token_signing_alg_values_supported
[
  "PS256"
]
issuer
https://fapi.panva.cz
jwks_uri
https://fapi.panva.cz/jwks
registration_endpoint
https://fapi.panva.cz/reg
response_modes_supported
[
  "form_post",
  "fragment",
  "query",
  "jwt",
  "query.jwt",
  "fragment.jwt",
  "form_post.jwt"
]
response_types_supported
[
  "code id_token",
  "code"
]
scopes_supported
[
  "openid",
  "offline_access"
]
subject_types_supported
[
  "public"
]
token_endpoint_auth_methods_supported
[
  "private_key_jwt",
  "self_signed_tls_client_auth"
]
token_endpoint_auth_signing_alg_values_supported
[
  "PS256"
]
token_endpoint
https://mtls.fapi.panva.cz/token
pushed_authorization_request_endpoint
https://mtls.fapi.panva.cz/request
request_object_signing_alg_values_supported
[
  "PS256"
]
request_parameter_supported
true
request_uri_parameter_supported
false
require_signed_request_object
true
userinfo_endpoint
https://mtls.fapi.panva.cz/accounts
authorization_signing_alg_values_supported
[
  "PS256"
]
tls_client_certificate_bound_access_tokens
true
backchannel_authentication_endpoint
https://mtls.fapi.panva.cz/backchannel
backchannel_token_delivery_modes_supported
[
  "poll",
  "ping"
]
backchannel_user_code_parameter_supported
true
backchannel_authentication_request_signing_alg_values_supported
[
  "PS256"
]
claim_types_supported
[
  "normal"
]
2021-06-11 14:37:28 INFO
AddMTLSEndpointAliasesToEnvironment
The mtls_endpoint_aliases is not present in the server configuration
server
{
  "acr_values_supported": [
    "urn:mace:incommon:iap:silver"
  ],
  "authorization_endpoint": "https://fapi.panva.cz/auth",
  "claims_parameter_supported": true,
  "claims_supported": [
    "sub",
    "acr",
    "sid",
    "auth_time",
    "iss"
  ],
  "code_challenge_methods_supported": [
    "S256"
  ],
  "end_session_endpoint": "https://fapi.panva.cz/session/end",
  "grant_types_supported": [
    "implicit",
    "authorization_code",
    "refresh_token",
    "urn:openid:params:grant-type:ciba"
  ],
  "id_token_signing_alg_values_supported": [
    "PS256"
  ],
  "issuer": "https://fapi.panva.cz",
  "jwks_uri": "https://fapi.panva.cz/jwks",
  "registration_endpoint": "https://fapi.panva.cz/reg",
  "response_modes_supported": [
    "form_post",
    "fragment",
    "query",
    "jwt",
    "query.jwt",
    "fragment.jwt",
    "form_post.jwt"
  ],
  "response_types_supported": [
    "code id_token",
    "code"
  ],
  "scopes_supported": [
    "openid",
    "offline_access"
  ],
  "subject_types_supported": [
    "public"
  ],
  "token_endpoint_auth_methods_supported": [
    "private_key_jwt",
    "self_signed_tls_client_auth"
  ],
  "token_endpoint_auth_signing_alg_values_supported": [
    "PS256"
  ],
  "token_endpoint": "https://mtls.fapi.panva.cz/token",
  "pushed_authorization_request_endpoint": "https://mtls.fapi.panva.cz/request",
  "request_object_signing_alg_values_supported": [
    "PS256"
  ],
  "request_parameter_supported": true,
  "request_uri_parameter_supported": false,
  "require_signed_request_object": true,
  "userinfo_endpoint": "https://mtls.fapi.panva.cz/accounts",
  "authorization_signing_alg_values_supported": [
    "PS256"
  ],
  "tls_client_certificate_bound_access_tokens": true,
  "backchannel_authentication_endpoint": "https://mtls.fapi.panva.cz/backchannel",
  "backchannel_token_delivery_modes_supported": [
    "poll",
    "ping"
  ],
  "backchannel_user_code_parameter_supported": true,
  "backchannel_authentication_request_signing_alg_values_supported": [
    "PS256"
  ],
  "claim_types_supported": [
    "normal"
  ]
}
2021-06-11 14:37:28 SUCCESS
CheckServerConfiguration
Found required server configuration keys
required
[
  "authorization_endpoint",
  "token_endpoint",
  "issuer"
]
2021-06-11 14:37:28 SUCCESS
ExtractTLSTestValuesFromServerConfiguration
Extracted TLS information from authorization server configuration
registration_endpoint
{
  "testHost": "fapi.panva.cz",
  "testPort": 443
}
authorization_endpoint
{
  "testHost": "fapi.panva.cz",
  "testPort": 443
}
token_endpoint
{
  "testHost": "mtls.fapi.panva.cz",
  "testPort": 443
}
userinfo_endpoint
{
  "testHost": "mtls.fapi.panva.cz",
  "testPort": 443
}
2021-06-11 14:37:28
FetchServerKeys
Fetching server key
jwks_uri
https://fapi.panva.cz/jwks
2021-06-11 14:37:28
FetchServerKeys
HTTP request
request_uri
https://fapi.panva.cz/jwks
request_method
GET
request_headers
{
  "accept": "text/plain, application/json, application/cbor, application/*+json, */*",
  "content-length": "0"
}
request_body

                                
2021-06-11 14:37:29 RESPONSE
FetchServerKeys
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "content-length": "462",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/jwk-set+json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:29 GMT",
  "expect-ct": "max-age\u003d0",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"keys":[{"kty":"RSA","use":"sig","kid":"EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M","alg":"PS256","e":"AQAB","n":"sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"}]}
2021-06-11 14:37:29
FetchServerKeys
Found JWK set string
jwk_string
{"keys":[{"kty":"RSA","use":"sig","kid":"EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M","alg":"PS256","e":"AQAB","n":"sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"}]}
2021-06-11 14:37:29 SUCCESS
FetchServerKeys
Found server JWK set
server_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
CheckServerKeysIsValid
Server JWKs is valid
server_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
ValidateServerJWKs
Valid server JWKs: keys are valid JSON, contain the required fields and are correctly encoded using unpadded base64url
2021-06-11 14:37:29 SUCCESS
CheckForKeyIdInServerJWKs
All keys contain kids
2021-06-11 14:37:29 SUCCESS
EnsureServerJwksDoesNotContainPrivateOrSymmetricKeys
Jwks does not contain any private or symmetric keys
2021-06-11 14:37:29 SUCCESS
FAPIEnsureMinimumServerKeyLength
Validated minimum key lengths for server_jwks
server_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "use": "sig",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
GetStaticClientConfiguration
Found a static client object
client_id
pkjwt-one
client_name
pkjwt-one
scope
openid offline_access
jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw",
      "d": "dxzWeLBYGwOgNb-S-4RCDxz7U6lUPPZaIkrbmkpLsdDdZOkMXGg_jk2LIJ3tYgAvZkWm87ZQqKjN2ADzJmpHvu-vCLuh8ccpwaiTXfWTOjjii0-Cfq0-fT6aQpIglbwubVKi1Tqxz-AglrMnCkNICm-e0GsotXFskxhwybp8IAZP__Up1pg-G9Dg_Timtepw55HjO4xDhzY70zV2NqSDEIvKOleyIZj4JP5kCkwP4_FJw_KynXwlxKvCshtFC3U2IEWWUaUQmM8Yy1Hz2x3TqImLQTWs3EMm6oRuhS0Y4tg9VlzJqnetdd6Ulh-DFzSB37KnBZS1qvnGGG4Cri9IkQ",
      "p": "5SLM2g4Uv3Q1-PGqwKPQ8h8Onp674FTxxYAHCh8mivgCGx7uIjVaOxCKvCimi8NCgtON0a1QdGY-BT3NsewJUvaniWyb5BZo-kpdkSzXCvQpWuWT_iSorgEgl4anJ59JZH_QW7wtjRnF8jWnw-_nkNv4HIIVd7fdKKCkpGi1Drk",
      "q": "xgyjgfZdlfpne27vdlxi5VGmNnBnLRAe_a7Wgo6JdmKPMPa1qugxVM5tUhoYjUuUpHxi8gDSxb0-N_kIqTu7zp2Ly9iB8wQIyyYmdxN7J_B5bSn5rfTcu_Uz-EuYVEGfj0hk5_aNQc0y02Di1L4QrnMNRGBo3jWCCRZrjqyHfqc",
      "dp": "tc9sHeUoX1V1cedHpn0VUNiFwCSRTIn6IMzaSRS4f3IUMbLUHv6Ybt9MRco3hBRV1PrJv8K2YPWzZnNIoFF6gILIIsmz1EJX36lcHtIme0GLAt3BFNm_ofmxA6pLPawtDvo_uFpTBm-Z2frq-BSGeDGh5_Tr1cdlS1RT70RJzbk",
      "dq": "FXlVWUgfSZ3HDqkuqcTGrFq4DPsPFOHEmnkUpT9TRFTXddWqSQe4IZvoWpidxORHD7a0-8x_DhXA40zLVZ42dOa8O7QUEweC9JQEY7DnD6ORZvbALc55CKBDrE52C9y5sk2FM2mWU2YudqDwt2SMZn3vGFTjygQ_P0EBFI08e80",
      "qi": "nmJaonUO_d62824V6YmWuEX7imXdgHKRi-tY4IUDJbrm7lKEfcn_xazqilECh1xm7O8b4bj0th3JrRcs1Al0sWP1FwVHjzzmg5oqq26PvHjmtVIHn3cXGT6AmY8-eUPkYgPBc61Ej58Usazm1iuRIe-wNIBeL244kFTQK7zJfnE",
      "kty": "RSA",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
hint_type
login_hint
hint_value
panva
2021-06-11 14:37:29
ValidateMTLSCertificatesHeader
No certificate authority found for MTLS
2021-06-11 14:37:29 SUCCESS
ValidateMTLSCertificatesHeader
MTLS certificates header is valid
2021-06-11 14:37:29
ExtractMTLSCertificatesFromConfiguration
No certificate authority found for MTLS
2021-06-11 14:37:29 SUCCESS
ExtractMTLSCertificatesFromConfiguration
Mutual TLS authentication credentials loaded
cert
MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc=
key
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw
2021-06-11 14:37:29 SUCCESS
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
2021-06-11 14:37:29 SUCCESS
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
client_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw",
      "d": "dxzWeLBYGwOgNb-S-4RCDxz7U6lUPPZaIkrbmkpLsdDdZOkMXGg_jk2LIJ3tYgAvZkWm87ZQqKjN2ADzJmpHvu-vCLuh8ccpwaiTXfWTOjjii0-Cfq0-fT6aQpIglbwubVKi1Tqxz-AglrMnCkNICm-e0GsotXFskxhwybp8IAZP__Up1pg-G9Dg_Timtepw55HjO4xDhzY70zV2NqSDEIvKOleyIZj4JP5kCkwP4_FJw_KynXwlxKvCshtFC3U2IEWWUaUQmM8Yy1Hz2x3TqImLQTWs3EMm6oRuhS0Y4tg9VlzJqnetdd6Ulh-DFzSB37KnBZS1qvnGGG4Cri9IkQ",
      "p": "5SLM2g4Uv3Q1-PGqwKPQ8h8Onp674FTxxYAHCh8mivgCGx7uIjVaOxCKvCimi8NCgtON0a1QdGY-BT3NsewJUvaniWyb5BZo-kpdkSzXCvQpWuWT_iSorgEgl4anJ59JZH_QW7wtjRnF8jWnw-_nkNv4HIIVd7fdKKCkpGi1Drk",
      "q": "xgyjgfZdlfpne27vdlxi5VGmNnBnLRAe_a7Wgo6JdmKPMPa1qugxVM5tUhoYjUuUpHxi8gDSxb0-N_kIqTu7zp2Ly9iB8wQIyyYmdxN7J_B5bSn5rfTcu_Uz-EuYVEGfj0hk5_aNQc0y02Di1L4QrnMNRGBo3jWCCRZrjqyHfqc",
      "dp": "tc9sHeUoX1V1cedHpn0VUNiFwCSRTIn6IMzaSRS4f3IUMbLUHv6Ybt9MRco3hBRV1PrJv8K2YPWzZnNIoFF6gILIIsmz1EJX36lcHtIme0GLAt3BFNm_ofmxA6pLPawtDvo_uFpTBm-Z2frq-BSGeDGh5_Tr1cdlS1RT70RJzbk",
      "dq": "FXlVWUgfSZ3HDqkuqcTGrFq4DPsPFOHEmnkUpT9TRFTXddWqSQe4IZvoWpidxORHD7a0-8x_DhXA40zLVZ42dOa8O7QUEweC9JQEY7DnD6ORZvbALc55CKBDrE52C9y5sk2FM2mWU2YudqDwt2SMZn3vGFTjygQ_P0EBFI08e80",
      "qi": "nmJaonUO_d62824V6YmWuEX7imXdgHKRi-tY4IUDJbrm7lKEfcn_xazqilECh1xm7O8b4bj0th3JrRcs1Al0sWP1FwVHjzzmg5oqq26PvHjmtVIHn3cXGT6AmY8-eUPkYgPBc61Ej58Usazm1iuRIe-wNIBeL244kFTQK7zJfnE",
      "kty": "RSA",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
CheckForKeyIdInClientJWKs
All keys contain kids
2021-06-11 14:37:29 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-06-11 14:37:29 SUCCESS
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
permitted
[
  "PS256",
  "ES256"
]
2021-06-11 14:37:29 SUCCESS
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
client_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw",
      "d": "dxzWeLBYGwOgNb-S-4RCDxz7U6lUPPZaIkrbmkpLsdDdZOkMXGg_jk2LIJ3tYgAvZkWm87ZQqKjN2ADzJmpHvu-vCLuh8ccpwaiTXfWTOjjii0-Cfq0-fT6aQpIglbwubVKi1Tqxz-AglrMnCkNICm-e0GsotXFskxhwybp8IAZP__Up1pg-G9Dg_Timtepw55HjO4xDhzY70zV2NqSDEIvKOleyIZj4JP5kCkwP4_FJw_KynXwlxKvCshtFC3U2IEWWUaUQmM8Yy1Hz2x3TqImLQTWs3EMm6oRuhS0Y4tg9VlzJqnetdd6Ulh-DFzSB37KnBZS1qvnGGG4Cri9IkQ",
      "p": "5SLM2g4Uv3Q1-PGqwKPQ8h8Onp674FTxxYAHCh8mivgCGx7uIjVaOxCKvCimi8NCgtON0a1QdGY-BT3NsewJUvaniWyb5BZo-kpdkSzXCvQpWuWT_iSorgEgl4anJ59JZH_QW7wtjRnF8jWnw-_nkNv4HIIVd7fdKKCkpGi1Drk",
      "q": "xgyjgfZdlfpne27vdlxi5VGmNnBnLRAe_a7Wgo6JdmKPMPa1qugxVM5tUhoYjUuUpHxi8gDSxb0-N_kIqTu7zp2Ly9iB8wQIyyYmdxN7J_B5bSn5rfTcu_Uz-EuYVEGfj0hk5_aNQc0y02Di1L4QrnMNRGBo3jWCCRZrjqyHfqc",
      "dp": "tc9sHeUoX1V1cedHpn0VUNiFwCSRTIn6IMzaSRS4f3IUMbLUHv6Ybt9MRco3hBRV1PrJv8K2YPWzZnNIoFF6gILIIsmz1EJX36lcHtIme0GLAt3BFNm_ofmxA6pLPawtDvo_uFpTBm-Z2frq-BSGeDGh5_Tr1cdlS1RT70RJzbk",
      "dq": "FXlVWUgfSZ3HDqkuqcTGrFq4DPsPFOHEmnkUpT9TRFTXddWqSQe4IZvoWpidxORHD7a0-8x_DhXA40zLVZ42dOa8O7QUEweC9JQEY7DnD6ORZvbALc55CKBDrE52C9y5sk2FM2mWU2YudqDwt2SMZn3vGFTjygQ_P0EBFI08e80",
      "qi": "nmJaonUO_d62824V6YmWuEX7imXdgHKRi-tY4IUDJbrm7lKEfcn_xazqilECh1xm7O8b4bj0th3JrRcs1Al0sWP1FwVHjzzmg5oqq26PvHjmtVIHn3cXGT6AmY8-eUPkYgPBc61Ej58Usazm1iuRIe-wNIBeL244kFTQK7zJfnE",
      "kty": "RSA",
      "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
Verify configuration of second client
2021-06-11 14:37:29 SUCCESS
GetStaticClient2Configuration
Found a static second client object
client_id
pkjwt-two
client_name
pkjwt-two
scope
openid offline_access
jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw",
      "d": "ttJDnX4Z7Q3DORORHU31H74wbmidC2_tzoEwBWkeUZ6cEediQKmy1v_kcGQ4cpRXXINmhuKdaNTqSzhZlk45w6MOJ2TOtBXgPVwPiYDvThWGFuvjfDeX3FAaxZrJ5a9Jn-w4Db3L2sQT-5NBvjViU5RG54Ze4PB_m_wOiUGXEfgonv64APPBkodIz_26lJ-r4447tcdMkDw4p6xTP-y33sPB4ZOhQ5ezE4FzQlpq0K98ysKLwo8wvhQ8stxqL46avBnflgDhTsb-1I54aU3ROjThU5tkeAkudzg4lFKdd4WmVneVMD-FJ2wrkjwztqHSBCP8G9IAXBdXRxRzdJIOAQ",
      "p": "_WOUrDYt1uay8XtnaNgutctzdI6XJaf5XrGv6wE_ZoVbqEKWTnBbVfqbwkWf58CeH32tt3hUjBFicG-XAlYI8TW5Lf6H78Fmt2y3fdowLzzWLwNDoLWo1_rOGxneL-vYM1MekZyUN-uDARdEeOL9yRPFKOZm7eWSUc_Sdlu9yuc",
      "q": "6XitRdF0tFu7O7S1rQZZjqhrza53f-Ox1vCYY_Hy4Tm_1fMc7GV0VCHoQwO3ZJPlPEE0JahnfpQkhHGj67GGO40lZYEXdBwNxtktp1zdmEokbsWmacz57SVPg4pzgS9kketf-wdUbT5VgBmNWS9MPt7rKiyFbmuPcHU99fWEsaE",
      "dp": "e_5s1FC24cCGtFCU6-NOCDwExXa5U_38s2_0C-XSZpK_pXjgIIYuy8YUzl5Pv5KsTfCsP2msxdYD-80_ci8ztQV7FpzFXHehkgSrTfSlO5hjnyHTyCLc-sOKdAyWg5C_fW4hOVQL28ltk-0U3qsFUY5RHpCQsb1zeoFeFfkSyOU",
      "dq": "2tyhsh2UBa8oaeQRm02kjrMbvAidRWoxwIhykt6xDKmSSAJLTuAcmPHgRVIqjUKHVmDZfaPMwUAmq3HMdJpKd3DtaaYGUnYqBAp7XbUUljqKxLzML8pTUBf13h3gAW5oHNJFe5F3d6FDjX5mnwBTvWxDj5mEy-pQ4N9HYlbyOYE",
      "qi": "rbxxLBMPxBVpoyNfpjYtXEuem0HHvemHiGklhCbJO_N3vRu8lEarlZ_IPLrRmq7he0cNHcd4j_yhge1-0RR0LzJ4l_Wg-B1Jc0fKJrSItp8pmjmaVHbp_ToYqVlJh_AfU5tru86zSCvVycV79BvkvLl6IusDAuRK8eD1h7dU59g",
      "kty": "RSA",
      "kid": "NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
acr_value
urn:mace:incommon:iap:silver
2021-06-11 14:37:29
ValidateMTLSCertificates2Header
No certificate authority found for MTLS
2021-06-11 14:37:29 SUCCESS
ValidateMTLSCertificates2Header
MTLS certificates header is valid
2021-06-11 14:37:29
ExtractMTLSCertificates2FromConfiguration
No certificate authority found for MTLS
2021-06-11 14:37:29 SUCCESS
ExtractMTLSCertificates2FromConfiguration
Mutual TLS authentication credentials loaded
cert
MIIC4DCCAcgCCQDO8JBSH914NDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wHhcNMTkwNjE4MTIzMjAxWhcNMjAwNjE3MTIzMjAxWjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBALsB6MGWke5vS1TB3Z+NJkC29bEIb3XGC9WaxRovH0jqaaua2AfAF7VZzUyWS/+r6hvWOtqUVy7YF1ThnEJXuXJG9ra2B2+F5RYNCtrVj6Bi+zDTSJ4IvQfrF0XBKwwOdRu7VJpAxvweA/3woKl6Cjfy20ZupPH9mxr1R78BMKgEtdFsiLwbB7MOdDbTLsrUcEcupXv+gZek22upQKrAk/XFP067KIqKmCEhDidxhP251SloUaruv9cHEx0aDKol9eR465FAiBLvg2N7qJHCKlWdn99SgN4Y3kINsuFR7Tj4QIJZNubOjV0YeOgnAWzRJlZD89KZAQgjj4Z215QeLxA=
key
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAECggEASlRt2SNQPJphs7n3NkDquC3frsD4IjmDepQmOY7F/T6qKOYMTwOnt8cUZUMal0q5mu1p2HC4DeK+yZ8tyzCstmzqTG8vwzhMNDZblt4cfP2CTrAbUUcD7q18FnxoYuCB9HTcmd82tgve+DIVstYlaqcL9PkCifcloblFB/GNbToEdiHqRNbHvVZLMYGYsShkiyFVL61h5zkFgQCBv+kR5u3AWGGGtlhZ3dvU7+i0P7n4dKseQyyd9v/QcW4iW8b3f6izn4plQNcPbb4o0iAdhpnjYxCOwxc8TGZvHul/RYnlFGuiKUXSV/r/t/dEppsKM4moJ8n6qzsoZf6czR5NwQKBgQD+y6nJs9sNEuIBa2JjEZIYhVXjVRO9XkusqN3aoKyU48X+Jg4/XDJMU6NRaMEdappo8Jgykrg0h2cNS4JDkrw3PwVohaR1SSwNclg7cVlH50HO6WTIrA1lAT7VXBPsxiUiKHr3nNph22chHDRw3qhhbluF4Nh0TXdLNwsrdcYyoQKBgQDiumS2EnCOT5uvEpW4MjFRVeLBsCt1tAufVRcF2XngyfgLme0zLnQGh8ZqrHHpZmgZQBM3APnDtJ/UqzEIwg5suvrE1U2lScjvrpVpXr1ZiIV0Hc3wEGLcvgmZvWEtcjJfZYhNMdjbDlQo5jAPqkoJrkWV2oCubmyUkKma199DMwKBgAKZ16Dceib3A2GaVAXI3yHq8oaAjtQHC2S20JTzwO9AJ/xBLTIOYeEPlYI2PIptVSgvFI6nmsPGghHLrIe+DrfNp+N6QcSEu7NjcG0i6hNm0/Alx8aYowZd7eNFrlpjZ2ui2CaA7mXDVJks7YgdbcCY3MxQEEWXqNkWtcF60UwhAoGBAI6RWmbK7Y/vKxxJeW/bz/svIGle19Upo+1K2jFJcUQSfDD/V5JJcZfxpKjLSs3TIT5PdkWuDWAsohxekXTKYbupT6qZ3jtDTGC6zST29+Xm3NQJMcf05dWcgfj0hrjHCDnIZI71+0Czn+Qf6rTPBcNUnFkAjs4gjZJV7PB7Md7VAoGAZ/CBJI5NGWkGZjkLM4fqq8U2hFM9Y5IHsn9Y8vvst3+mCqcFhTS7TcYUY00qdiFXAJjiwhfGFOoc0q+AWluiUxB+b6FWRu73XhqkKxgBehE9i3QCrcitMufSkXKydLonfh7/PeUpB63LmMjtyLdMlGAIorVbtD1xAn2WaYuEb5Q=
2021-06-11 14:37:29 SUCCESS
ValidateClientJWKsPrivatePart
Valid client JWKs: keys are valid JSON, contain the required fields, the private/public exponents match and are correctly encoded using unpadded base64url
2021-06-11 14:37:29 SUCCESS
ExtractJWKsFromStaticClientConfiguration
Extracted client JWK
client_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw",
      "d": "ttJDnX4Z7Q3DORORHU31H74wbmidC2_tzoEwBWkeUZ6cEediQKmy1v_kcGQ4cpRXXINmhuKdaNTqSzhZlk45w6MOJ2TOtBXgPVwPiYDvThWGFuvjfDeX3FAaxZrJ5a9Jn-w4Db3L2sQT-5NBvjViU5RG54Ze4PB_m_wOiUGXEfgonv64APPBkodIz_26lJ-r4447tcdMkDw4p6xTP-y33sPB4ZOhQ5ezE4FzQlpq0K98ysKLwo8wvhQ8stxqL46avBnflgDhTsb-1I54aU3ROjThU5tkeAkudzg4lFKdd4WmVneVMD-FJ2wrkjwztqHSBCP8G9IAXBdXRxRzdJIOAQ",
      "p": "_WOUrDYt1uay8XtnaNgutctzdI6XJaf5XrGv6wE_ZoVbqEKWTnBbVfqbwkWf58CeH32tt3hUjBFicG-XAlYI8TW5Lf6H78Fmt2y3fdowLzzWLwNDoLWo1_rOGxneL-vYM1MekZyUN-uDARdEeOL9yRPFKOZm7eWSUc_Sdlu9yuc",
      "q": "6XitRdF0tFu7O7S1rQZZjqhrza53f-Ox1vCYY_Hy4Tm_1fMc7GV0VCHoQwO3ZJPlPEE0JahnfpQkhHGj67GGO40lZYEXdBwNxtktp1zdmEokbsWmacz57SVPg4pzgS9kketf-wdUbT5VgBmNWS9MPt7rKiyFbmuPcHU99fWEsaE",
      "dp": "e_5s1FC24cCGtFCU6-NOCDwExXa5U_38s2_0C-XSZpK_pXjgIIYuy8YUzl5Pv5KsTfCsP2msxdYD-80_ci8ztQV7FpzFXHehkgSrTfSlO5hjnyHTyCLc-sOKdAyWg5C_fW4hOVQL28ltk-0U3qsFUY5RHpCQsb1zeoFeFfkSyOU",
      "dq": "2tyhsh2UBa8oaeQRm02kjrMbvAidRWoxwIhykt6xDKmSSAJLTuAcmPHgRVIqjUKHVmDZfaPMwUAmq3HMdJpKd3DtaaYGUnYqBAp7XbUUljqKxLzML8pTUBf13h3gAW5oHNJFe5F3d6FDjX5mnwBTvWxDj5mEy-pQ4N9HYlbyOYE",
      "qi": "rbxxLBMPxBVpoyNfpjYtXEuem0HHvemHiGklhCbJO_N3vRu8lEarlZ_IPLrRmq7he0cNHcd4j_yhge1-0RR0LzJ4l_Wg-B1Jc0fKJrSItp8pmjmaVHbp_ToYqVlJh_AfU5tru86zSCvVycV79BvkvLl6IusDAuRK8eD1h7dU59g",
      "kty": "RSA",
      "kid": "NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
public_client_jwks
{
  "keys": [
    {
      "kty": "RSA",
      "e": "AQAB",
      "use": "sig",
      "kid": "NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0",
      "alg": "PS256",
      "n": "5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
CheckForKeyIdInClientJWKs
All keys contain kids
2021-06-11 14:37:29 SUCCESS
CheckDistinctKeyIdValueInClientJWKs
Distinct 'kid' value in all keys of client_jwks
see
https://bitbucket.org/openid/connect/issues/1127
2021-06-11 14:37:29 SUCCESS
FAPICheckKeyAlgInClientJWKs
Keys in client JWKS all have permitted 'alg'
permitted
[
  "PS256",
  "ES256"
]
2021-06-11 14:37:29 SUCCESS
FAPIEnsureMinimumClientKeyLength
Validated minimum key lengths for client_jwks
client_jwks
{
  "keys": [
    {
      "e": "AQAB",
      "n": "5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw",
      "d": "ttJDnX4Z7Q3DORORHU31H74wbmidC2_tzoEwBWkeUZ6cEediQKmy1v_kcGQ4cpRXXINmhuKdaNTqSzhZlk45w6MOJ2TOtBXgPVwPiYDvThWGFuvjfDeX3FAaxZrJ5a9Jn-w4Db3L2sQT-5NBvjViU5RG54Ze4PB_m_wOiUGXEfgonv64APPBkodIz_26lJ-r4447tcdMkDw4p6xTP-y33sPB4ZOhQ5ezE4FzQlpq0K98ysKLwo8wvhQ8stxqL46avBnflgDhTsb-1I54aU3ROjThU5tkeAkudzg4lFKdd4WmVneVMD-FJ2wrkjwztqHSBCP8G9IAXBdXRxRzdJIOAQ",
      "p": "_WOUrDYt1uay8XtnaNgutctzdI6XJaf5XrGv6wE_ZoVbqEKWTnBbVfqbwkWf58CeH32tt3hUjBFicG-XAlYI8TW5Lf6H78Fmt2y3fdowLzzWLwNDoLWo1_rOGxneL-vYM1MekZyUN-uDARdEeOL9yRPFKOZm7eWSUc_Sdlu9yuc",
      "q": "6XitRdF0tFu7O7S1rQZZjqhrza53f-Ox1vCYY_Hy4Tm_1fMc7GV0VCHoQwO3ZJPlPEE0JahnfpQkhHGj67GGO40lZYEXdBwNxtktp1zdmEokbsWmacz57SVPg4pzgS9kketf-wdUbT5VgBmNWS9MPt7rKiyFbmuPcHU99fWEsaE",
      "dp": "e_5s1FC24cCGtFCU6-NOCDwExXa5U_38s2_0C-XSZpK_pXjgIIYuy8YUzl5Pv5KsTfCsP2msxdYD-80_ci8ztQV7FpzFXHehkgSrTfSlO5hjnyHTyCLc-sOKdAyWg5C_fW4hOVQL28ltk-0U3qsFUY5RHpCQsb1zeoFeFfkSyOU",
      "dq": "2tyhsh2UBa8oaeQRm02kjrMbvAidRWoxwIhykt6xDKmSSAJLTuAcmPHgRVIqjUKHVmDZfaPMwUAmq3HMdJpKd3DtaaYGUnYqBAp7XbUUljqKxLzML8pTUBf13h3gAW5oHNJFe5F3d6FDjX5mnwBTvWxDj5mEy-pQ4N9HYlbyOYE",
      "qi": "rbxxLBMPxBVpoyNfpjYtXEuem0HHvemHiGklhCbJO_N3vRu8lEarlZ_IPLrRmq7he0cNHcd4j_yhge1-0RR0LzJ4l_Wg-B1Jc0fKJrSItp8pmjmaVHbp_ToYqVlJh_AfU5tru86zSCvVycV79BvkvLl6IusDAuRK8eD1h7dU59g",
      "kty": "RSA",
      "kid": "NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0",
      "alg": "PS256",
      "use": "sig"
    }
  ]
}
2021-06-11 14:37:29 SUCCESS
ValidateMTLSCertificatesAsX509
Mutual TLS authentication cert validated as X.509
2021-06-11 14:37:29 SUCCESS
GetResourceEndpointConfiguration
Found a resource endpoint object
resourceUrl
https://mtls.fapi.panva.cz/accounts
institution_id
xxxxx
2021-06-11 14:37:29 SUCCESS
SetProtectedResourceUrlToSingleResourceEndpoint
Set protected resource URL
protected_resource_url
https://mtls.fapi.panva.cz/accounts
2021-06-11 14:37:29 SUCCESS
ExtractTLSTestValuesFromResourceConfiguration
Extracted TLS information from resource endpoint
resource_endpoint
{
  "testHost": "mtls.fapi.panva.cz",
  "testPort": 443
}
2021-06-11 14:37:29 SUCCESS
ExtractTLSTestValuesFromOBResourceConfiguration
Extracted TLS information from resource endpoint
accounts_resource_endpoint
{
  "testHost": "mtls.fapi.panva.cz",
  "testPort": 443
}
accounts_request_endpoint
{
  "testHost": "mtls.fapi.panva.cz",
  "testPort": 443
}
2021-06-11 14:37:29
fapi1-advanced-final-refresh-token
Setup Done
Make request to authorization endpoint
2021-06-11 14:37:29 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
pkjwt-one
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
scope
openid offline_access
2021-06-11 14:37:29 SUCCESS
AddAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
authorization_endpoint_request
{
  "client_id": "pkjwt-one",
  "redirect_uri": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback",
  "scope": "openid offline_access",
  "claims": {
    "id_token": {
      "acr": {
        "value": "urn:mace:incommon:iap:silver",
        "essential": true
      }
    }
  }
}
2021-06-11 14:37:29
CreateRandomStateValue
Created state value
requested_state_length
10
state
ApTxAL00ij
2021-06-11 14:37:29 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
pkjwt-one
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
ApTxAL00ij
2021-06-11 14:37:29
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
SXacMRnlGk
2021-06-11 14:37:29 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
pkjwt-one
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
ApTxAL00ij
nonce
SXacMRnlGk
2021-06-11 14:37:29 SUCCESS
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
client_id
pkjwt-one
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
ApTxAL00ij
nonce
SXacMRnlGk
response_type
code id_token
2021-06-11 14:37:29 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
pkjwt-one
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
ApTxAL00ij
nonce
SXacMRnlGk
response_type
code id_token
prompt
consent
2021-06-11 14:37:29 SUCCESS
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
request_object_claims
{
  "client_id": "pkjwt-one",
  "redirect_uri": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback",
  "scope": "openid offline_access",
  "claims": {
    "id_token": {
      "acr": {
        "value": "urn:mace:incommon:iap:silver",
        "essential": true
      }
    }
  },
  "state": "ApTxAL00ij",
  "nonce": "SXacMRnlGk",
  "response_type": "code id_token",
  "prompt": "consent"
}
2021-06-11 14:37:29 SUCCESS
AddNbfToRequestObject
Added nbf to request object claims
nbf
1.623422249E9
2021-06-11 14:37:29 SUCCESS
AddExpToRequestObject
Added exp to request object claims
exp
1.623422549E9
2021-06-11 14:37:29 SUCCESS
AddAudToRequestObject
Added aud to request object claims
aud
https://fapi.panva.cz
2021-06-11 14:37:29 SUCCESS
AddIssToRequestObject
Added iss to request object claims
iss
pkjwt-one
2021-06-11 14:37:29 SUCCESS
AddClientIdToRequestObject
Added client_id to request object claims
client_id
pkjwt-one
2021-06-11 14:37:29 SUCCESS
SignRequestObject
Signed the request object
claims
{"aud":"https:\/\/fapi.panva.cz","nbf":1623422249,"scope":"openid offline_access","claims":{"id_token":{"acr":{"value":"urn:mace:incommon:iap:silver","essential":true}}},"iss":"pkjwt-one","response_type":"code id_token","redirect_uri":"https:\/\/www.certification.openid.net\/test\/a\/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response\/callback","state":"ApTxAL00ij","exp":1623422549,"nonce":"SXacMRnlGk","prompt":"consent","client_id":"pkjwt-one"}
header
{"kid":"EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M","alg":"PS256"}
request_object
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJhdWQiOiJodHRwczpcL1wvZmFwaS5wYW52YS5jeiIsIm5iZiI6MTYyMzQyMjI0OSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJjbGFpbXMiOnsiaWRfdG9rZW4iOnsiYWNyIjp7InZhbHVlIjoidXJuOm1hY2U6aW5jb21tb246aWFwOnNpbHZlciIsImVzc2VudGlhbCI6dHJ1ZX19fSwiaXNzIjoicGtqd3Qtb25lIiwicmVzcG9uc2VfdHlwZSI6ImNvZGUgaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2siLCJzdGF0ZSI6IkFwVHhBTDAwaWoiLCJleHAiOjE2MjM0MjI1NDksIm5vbmNlIjoiU1hhY01SbmxHayIsInByb21wdCI6ImNvbnNlbnQiLCJjbGllbnRfaWQiOiJwa2p3dC1vbmUifQ.WVb1Zb9AB6hTmajJ6M1Znmm3jg8tps7HDRLwA8OnFg4aITRh-tvIREcR4rvDtNB5DtWNXY4UtJpbB788pkxzmI3QUwpqK_eD0uuvZa1fTRsOQqVZ4GIILzSlUXzbZUhg46p6IW8sXNBwvRiC0RbNi4HAbs_YQfujTnue7STQGha7M3BmaPPzjOlfbBF1aeHcccyY7VUH1FSNTEsu7HavGHuylvQ0c1sSQq1wCtpEqTLYPxCyrsASskQEDWPUunfFToT4K-9JcYS10DRuv-TN23NyQ8TgRmni_5oqG-WaryX2nrVwBMGgjQA7RuVYy_w9P2IdQcNxIsI1eQfK-qwzrw
key
{"p":"5SLM2g4Uv3Q1-PGqwKPQ8h8Onp674FTxxYAHCh8mivgCGx7uIjVaOxCKvCimi8NCgtON0a1QdGY-BT3NsewJUvaniWyb5BZo-kpdkSzXCvQpWuWT_iSorgEgl4anJ59JZH_QW7wtjRnF8jWnw-_nkNv4HIIVd7fdKKCkpGi1Drk","kty":"RSA","q":"xgyjgfZdlfpne27vdlxi5VGmNnBnLRAe_a7Wgo6JdmKPMPa1qugxVM5tUhoYjUuUpHxi8gDSxb0-N_kIqTu7zp2Ly9iB8wQIyyYmdxN7J_B5bSn5rfTcu_Uz-EuYVEGfj0hk5_aNQc0y02Di1L4QrnMNRGBo3jWCCRZrjqyHfqc","d":"dxzWeLBYGwOgNb-S-4RCDxz7U6lUPPZaIkrbmkpLsdDdZOkMXGg_jk2LIJ3tYgAvZkWm87ZQqKjN2ADzJmpHvu-vCLuh8ccpwaiTXfWTOjjii0-Cfq0-fT6aQpIglbwubVKi1Tqxz-AglrMnCkNICm-e0GsotXFskxhwybp8IAZP__Up1pg-G9Dg_Timtepw55HjO4xDhzY70zV2NqSDEIvKOleyIZj4JP5kCkwP4_FJw_KynXwlxKvCshtFC3U2IEWWUaUQmM8Yy1Hz2x3TqImLQTWs3EMm6oRuhS0Y4tg9VlzJqnetdd6Ulh-DFzSB37KnBZS1qvnGGG4Cri9IkQ","e":"AQAB","use":"sig","kid":"EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M","qi":"nmJaonUO_d62824V6YmWuEX7imXdgHKRi-tY4IUDJbrm7lKEfcn_xazqilECh1xm7O8b4bj0th3JrRcs1Al0sWP1FwVHjzzmg5oqq26PvHjmtVIHn3cXGT6AmY8-eUPkYgPBc61Ej58Usazm1iuRIe-wNIBeL244kFTQK7zJfnE","dp":"tc9sHeUoX1V1cedHpn0VUNiFwCSRTIn6IMzaSRS4f3IUMbLUHv6Ybt9MRco3hBRV1PrJv8K2YPWzZnNIoFF6gILIIsmz1EJX36lcHtIme0GLAt3BFNm_ofmxA6pLPawtDvo_uFpTBm-Z2frq-BSGeDGh5_Tr1cdlS1RT70RJzbk","alg":"PS256","dq":"FXlVWUgfSZ3HDqkuqcTGrFq4DPsPFOHEmnkUpT9TRFTXddWqSQe4IZvoWpidxORHD7a0-8x_DhXA40zLVZ42dOa8O7QUEweC9JQEY7DnD6ORZvbALc55CKBDrE52C9y5sk2FM2mWU2YudqDwt2SMZn3vGFTjygQ_P0EBFI08e80","n":"sUQ6a7yX-qCAIgqYl_pzn2yK5RsPb5zjxMG1v2bvlvf6l6LyvJkxEr4dWLAbn9WAV72GuyMkvWfVi13fu4cYl2vdkIFBt0JGT40QxkMUp0izHs4RiLK1GTrwJ2qX7H67EaNNWFeE9Yqh3sIRyQgHqQf6L9rZFWBSED-M3OaiwH-zdwrMzjQH6wCEjmuyTFiNLO2QI6Yr7dDl1rPjWvN9d8pHHWxkRMAnQrL5_mfvOD_j1Tr5blXYTMHHpThOHVM2Ibe4_5YDmPaRXFMgQrPjz6mlUa9d1EL7CuxLd19S3A_6XEMB2juo0RRCfaHK7ZORPJKa36qrVZVhXK3Geuqorw"}
2021-06-11 14:37:29 SUCCESS
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://fapi.panva.cz/auth?request=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJhdWQiOiJodHRwczpcL1wvZmFwaS5wYW52YS5jeiIsIm5iZiI6MTYyMzQyMjI0OSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJjbGFpbXMiOnsiaWRfdG9rZW4iOnsiYWNyIjp7InZhbHVlIjoidXJuOm1hY2U6aW5jb21tb246aWFwOnNpbHZlciIsImVzc2VudGlhbCI6dHJ1ZX19fSwiaXNzIjoicGtqd3Qtb25lIiwicmVzcG9uc2VfdHlwZSI6ImNvZGUgaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2siLCJzdGF0ZSI6IkFwVHhBTDAwaWoiLCJleHAiOjE2MjM0MjI1NDksIm5vbmNlIjoiU1hhY01SbmxHayIsInByb21wdCI6ImNvbnNlbnQiLCJjbGllbnRfaWQiOiJwa2p3dC1vbmUifQ.WVb1Zb9AB6hTmajJ6M1Znmm3jg8tps7HDRLwA8OnFg4aITRh-tvIREcR4rvDtNB5DtWNXY4UtJpbB788pkxzmI3QUwpqK_eD0uuvZa1fTRsOQqVZ4GIILzSlUXzbZUhg46p6IW8sXNBwvRiC0RbNi4HAbs_YQfujTnue7STQGha7M3BmaPPzjOlfbBF1aeHcccyY7VUH1FSNTEsu7HavGHuylvQ0c1sSQq1wCtpEqTLYPxCyrsASskQEDWPUunfFToT4K-9JcYS10DRuv-TN23NyQ8TgRmni_5oqG-WaryX2nrVwBMGgjQA7RuVYy_w9P2IdQcNxIsI1eQfK-qwzrw&client_id=pkjwt-one&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:29 REDIRECT
fapi1-advanced-final-refresh-token
Redirecting to authorization endpoint
redirect_to
https://fapi.panva.cz/auth?request=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJhdWQiOiJodHRwczpcL1wvZmFwaS5wYW52YS5jeiIsIm5iZiI6MTYyMzQyMjI0OSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJjbGFpbXMiOnsiaWRfdG9rZW4iOnsiYWNyIjp7InZhbHVlIjoidXJuOm1hY2U6aW5jb21tb246aWFwOnNpbHZlciIsImVzc2VudGlhbCI6dHJ1ZX19fSwiaXNzIjoicGtqd3Qtb25lIiwicmVzcG9uc2VfdHlwZSI6ImNvZGUgaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2siLCJzdGF0ZSI6IkFwVHhBTDAwaWoiLCJleHAiOjE2MjM0MjI1NDksIm5vbmNlIjoiU1hhY01SbmxHayIsInByb21wdCI6ImNvbnNlbnQiLCJjbGllbnRfaWQiOiJwa2p3dC1vbmUifQ.WVb1Zb9AB6hTmajJ6M1Znmm3jg8tps7HDRLwA8OnFg4aITRh-tvIREcR4rvDtNB5DtWNXY4UtJpbB788pkxzmI3QUwpqK_eD0uuvZa1fTRsOQqVZ4GIILzSlUXzbZUhg46p6IW8sXNBwvRiC0RbNi4HAbs_YQfujTnue7STQGha7M3BmaPPzjOlfbBF1aeHcccyY7VUH1FSNTEsu7HavGHuylvQ0c1sSQq1wCtpEqTLYPxCyrsASskQEDWPUunfFToT4K-9JcYS10DRuv-TN23NyQ8TgRmni_5oqG-WaryX2nrVwBMGgjQA7RuVYy_w9P2IdQcNxIsI1eQfK-qwzrw&client_id=pkjwt-one&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:29
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://fapi.panva.cz/auth?request=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJhdWQiOiJodHRwczpcL1wvZmFwaS5wYW52YS5jeiIsIm5iZiI6MTYyMzQyMjI0OSwic2NvcGUiOiJvcGVuaWQgb2ZmbGluZV9hY2Nlc3MiLCJjbGFpbXMiOnsiaWRfdG9rZW4iOnsiYWNyIjp7InZhbHVlIjoidXJuOm1hY2U6aW5jb21tb246aWFwOnNpbHZlciIsImVzc2VudGlhbCI6dHJ1ZX19fSwiaXNzIjoicGtqd3Qtb25lIiwicmVzcG9uc2VfdHlwZSI6ImNvZGUgaWRfdG9rZW4iLCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2siLCJzdGF0ZSI6IkFwVHhBTDAwaWoiLCJleHAiOjE2MjM0MjI1NDksIm5vbmNlIjoiU1hhY01SbmxHayIsInByb21wdCI6ImNvbnNlbnQiLCJjbGllbnRfaWQiOiJwa2p3dC1vbmUifQ.WVb1Zb9AB6hTmajJ6M1Znmm3jg8tps7HDRLwA8OnFg4aITRh-tvIREcR4rvDtNB5DtWNXY4UtJpbB788pkxzmI3QUwpqK_eD0uuvZa1fTRsOQqVZ4GIILzSlUXzbZUhg46p6IW8sXNBwvRiC0RbNi4HAbs_YQfujTnue7STQGha7M3BmaPPzjOlfbBF1aeHcccyY7VUH1FSNTEsu7HavGHuylvQ0c1sSQq1wCtpEqTLYPxCyrsASskQEDWPUunfFToT4K-9JcYS10DRuv-TN23NyQ8TgRmni_5oqG-WaryX2nrVwBMGgjQA7RuVYy_w9P2IdQcNxIsI1eQfK-qwzrw&client_id=pkjwt-one&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:30 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html >
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Sign-in</title>
    <style>
      @import url(https://fonts.googleapis.com/css?family=Roboto:400,100);

      body {
        font-family: 'Roboto', sans-serif;
        margin-top: 25px;
        margin-bottom: 25px;
      }

      .login-card {
        padding: 40px;
        padding-top: 0px;
        padding-bottom: 10px;
        width: 274px;
        background-color: #F7F7F7;
        margin: 0 auto 10px;
        border-radius: 2px;
        box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
        overflow: hidden;
      }

      .login-card + .login-card {
        padding-top: 10px;
      }

      .login-card h1 {
        font-weight: 100;
        text-align: center;
        font-size: 2.3em;
      }

      .login-card [type=submit] {
        width: 100%;
        display: block;
        margin-bottom: 10px;
        position: relative;
      }

      .login-card input[type=text], input[type=email], input[type=password] {
        height: 44px;
        font-size: 16px;
        width: 100%;
        margin-bottom: 10px;
        -webkit-appearance: none;
        background: #fff;
        border: 1px solid #d9d9d9;
        border-top: 1px solid #c0c0c0;
        padding: 0 8px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
      }

      .login {
        text-align: center;
        font-size: 14px;
        font-family: 'Arial', sans-serif;
        font-weight: 700;
        height: 36px;
        padding: 0 8px;
      }

      .login-submit {
        border: 0px;
        color: #fff;
        text-shadow: 0 1px rgba(0,0,0,0.1);
        background-color: #4d90fe;
      }

      .login-card a {
        text-decoration: none;
        color: #666;
        font-weight: 400;
        text-align: center;
        display: inline-block;
        opacity: 0.6;
      }

      .login-help {
        width: 100%;
        text-align: center;
        font-size: 12px;
      }

      .login-client-image img {
        margin-bottom: 20px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 20%;
      }

      .login-card input[type=checkbox] {
        margin-bottom: 10px;
      }

      .login-card label {
        color: #999;
      }

      .grant-debug {
        text-align: center;
        font-family: Fixed, monospace;
        width: 100%;
        font-size: 12px;
        color: #999;
      }

      .grant-debug div {
        padding-top: 10px;
      }

      ul {
        font-weight: 100;
        padding-left: 1em;
        list-style-type: circle;
      }

      li + ul, ul + li, li + li {
        padding-top: 0.3em;
      }

      button {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div class="login-card">
      <h1>Sign-in</h1>
      <form autocomplete="off" action="https://fapi.panva.cz/interaction/i4_wF3Li8JPSLohds62qH" method="post">
  <input type="hidden" name="prompt" value="login"/>
  <input required type="text" name="login" placeholder="Enter any login" autofocus="on">
  <input required type="password" name="password" placeholder="and password" >

  <button type="submit" class="login login-submit">Sign-in</button>
</form>
      <div class="login-help">
        <a href="https://fapi.panva.cz/interaction/i4_wF3Li8JPSLohds62qH/abort">[ Cancel ]</a>
        
        
      </div>
    </div>
    <div class="grant-debug">
      <details>
        <summary style="text-align: center;">(Click to expand) DEBUG information</summary>
        <div>
          <strong>uid</strong>: i4_wF3Li8JPSLohds62qH
        </div>

        

        <div>
          PARAMS <br>
         ======== <br>
          <strong>client_id</strong>: 'pkjwt-one'<br/><strong>nonce</strong>: 'SXacMRnlGk'<br/><strong>prompt</strong>: 'consent'<br/><strong>redirect_uri</strong>: 'https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback'<br/><strong>response_type</strong>: 'code id_token'<br/><strong>scope</strong>: 'openid offline_access'<br/><strong>state</strong>: 'ApTxAL00ij'<br/><strong>claims</strong>: '{"id_token":{"acr":{"value":"urn:mace:incommon:iap:silver","essential":true}}}'
        </div>

        <div>
          PROMPT <br>
         ======== <br>
          <strong>name</strong>: 'login'<br/><strong>reasons</strong>: [ 'no_session', 'essential_acr' ]<br/><strong>details</strong>: { acr: { value: 'urn:mace:incommon:iap:silver', essential: true } }
        </div>
      </details>
    </div>
  </body>
</html>
response_content_type
text/html
response_status_text
200-OK
response_status_code
200
2021-06-11 14:37:30 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
foo
url
https://fapi.panva.cz/interaction/i4_wF3Li8JPSLohds62qH
target
login
2021-06-11 14:37:30 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
bar
url
https://fapi.panva.cz/interaction/i4_wF3Li8JPSLohds62qH
target
password
2021-06-11 14:37:30 INFO
WebRunner
Clicking an element
task
Login
browser
click
element_type
class
url
https://fapi.panva.cz/interaction/i4_wF3Li8JPSLohds62qH
target
login-submit
2021-06-11 14:37:30 INFO
WebRunner
Completed processing of webpage
task
Login
browser
complete
response_status_text
200-OK
match
https://fapi.panva.cz/interaction*
url
https://fapi.panva.cz/interaction/U696DQc7n0IXdDSTlc9Sm
response_status_code
200
2021-06-11 14:37:30 INFO
WebRunner
Clicking an element
task
Consent
browser
click
element_type
class
url
https://fapi.panva.cz/interaction/U696DQc7n0IXdDSTlc9Sm
target
login-submit
2021-06-11 14:37:31 INCOMING
fapi1-advanced-final-refresh-token
Incoming HTTP request to test instance wFIileyH7ez1eec
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://fapi.panva.cz/interaction/U696DQc7n0IXdDSTlc9Sm",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "origin": "https://fapi.panva.cz",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
incoming_path
callback
incoming_body_form_params
incoming_method
GET
incoming_body_json
incoming_query_string_params
{}
incoming_body
2021-06-11 14:37:31 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/fOlPmOiEaApTmIU3YqYP",
  "fullUrl": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/implicit/fOlPmOiEaApTmIU3YqYP"
}
2021-06-11 14:37:31 OUTGOING
fapi1-advanced-final-refresh-token
Response to HTTP request to test instance wFIileyH7ez1eec
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/implicit/fOlPmOiEaApTmIU3YqYP, returnUrl=/log-detail.html?log=wFIileyH7ez1eec}]
outgoing_path
callback
2021-06-11 14:37:31 INFO
WebRunner
Completed processing of webpage
task
Consent
browser
complete
response_status_text
200-
match
https://fapi.panva.cz/interaction*
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback#code=FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w&state=ApTxAL00ij
response_status_code
200
2021-06-11 14:37:31 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback#code=FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w&state=ApTxAL00ij
target
submission_complete
2021-06-11 14:37:31 INCOMING
fapi1-advanced-final-refresh-token
Incoming HTTP request to test instance wFIileyH7ez1eec
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "*/*",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback#code\u003dFWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn\u0026id_token\u003deyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w\u0026state\u003dApTxAL00ij",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d18C6B266B2BF53C007502508A144E53D",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "821",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/fOlPmOiEaApTmIU3YqYP
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
#code=FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w&state=ApTxAL00ij
2021-06-11 14:37:31 OUTGOING
fapi1-advanced-final-refresh-token
Response to HTTP request to test instance wFIileyH7ez1eec
outgoing_status_code
204
outgoing_headers
{}
outgoing_body

                                
outgoing_path
implicit/fOlPmOiEaApTmIU3YqYP
2021-06-11 14:37:31
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
parameters
[
  {
    "name": "code",
    "value": "FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn"
  },
  {
    "name": "id_token",
    "value": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w"
  },
  {
    "name": "state",
    "value": "ApTxAL00ij"
  }
]
2021-06-11 14:37:31 SUCCESS
ExtractImplicitHashToCallbackResponse
Extracted the hash values
code
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w
state
ApTxAL00ij
2021-06-11 14:37:31 REDIRECT-IN
fapi1-advanced-final-refresh-token
Authorization endpoint response captured
url_query
{}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://fapi.panva.cz/interaction/U696DQc7n0IXdDSTlc9Sm",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "origin": "https://fapi.panva.cz",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
http_method
GET
url_fragment
{
  "code": "FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn",
  "id_token": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w",
  "state": "ApTxAL00ij"
}
post_body
Verify authorization endpoint response
2021-06-11 14:37:31 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2021-06-11 14:37:31 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2021-06-11 14:37:31 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
2021-06-11 14:37:31 SUCCESS
RejectStateInUrlQueryForHybridFlow
state is correctly not present in URL query returned from authorization endpoint (as in the hybrid flow it must be returned in the URL fragment/hash only)
2021-06-11 14:37:31 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2021-06-11 14:37:31 SUCCESS
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
code
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w
state
ApTxAL00ij
2021-06-11 14:37:31 SUCCESS
CheckStateInAuthorizationResponse
State in response correctly returned
state
ApTxAL00ij
2021-06-11 14:37:31
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
2021-06-11 14:37:31 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
2021-06-11 14:37:31 SUCCESS
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
actual
344
required
128
2021-06-11 14:37:31 SUCCESS
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
actual
207.81960944786323
expected
96.0
2021-06-11 14:37:31 SUCCESS
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "c_hash": "KY2QRJy8QzhKoWdTQr8Q3g",
  "aud": "pkjwt-one",
  "s_hash": "-YFtnQGpnQAdEz_iSDAApQ",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425851,
  "nonce": "SXacMRnlGk",
  "iat": 1623422251
}
2021-06-11 14:37:31 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-06-11 14:37:31 SUCCESS
EnsureIdTokenContainsKid
kid was found in the ID token header
kid
EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M
2021-06-11 14:37:31 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
SXacMRnlGk
2021-06-11 14:37:31 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w
2021-06-11 14:37:31 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w
2021-06-11 14:37:31 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
2021-06-11 14:37:31 SUCCESS
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
permitted
[
  "PS256",
  "ES256"
]
alg
PS256
2021-06-11 14:37:31 INFO
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:31 INFO
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:31 SUCCESS
ExtractSHash
Extracted s_hash from ID Token
s_hash
-YFtnQGpnQAdEz_iSDAApQ
alg
PS256
2021-06-11 14:37:31 SUCCESS
ValidateSHash
s_hash validated successfully
expected_hash
-YFtnQGpnQAdEz_iSDAApQ
unhashed_value
ApTxAL00ij
id_token_hash
-YFtnQGpnQAdEz_iSDAApQ
2021-06-11 14:37:31 SUCCESS
ExtractCHash
Extracted c_hash from ID Token
c_hash
KY2QRJy8QzhKoWdTQr8Q3g
alg
PS256
2021-06-11 14:37:31 SUCCESS
ValidateCHash
c_hash validated successfully
expected_hash
KY2QRJy8QzhKoWdTQr8Q3g
unhashed_value
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
id_token_hash
KY2QRJy8QzhKoWdTQr8Q3g
Call token endpoint
2021-06-11 14:37:31 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
2021-06-11 14:37:31 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
pkjwt-one
sub
pkjwt-one
aud
https://mtls.fapi.panva.cz/token
jti
UZwfT92BfL25Zs0tvHIb
iat
1623422251
exp
1623422311
2021-06-11 14:37:31 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMSwiaWF0IjoxNjIzNDIyMjUxLCJqdGkiOiJVWndmVDkyQmZMMjVaczB0dkhJYiJ9.SBhoW9L846lDS0sgCSD6vVSS4rcvty8K30iTOISaSkzIAzbhADwIiYpRw7QvDqyqesKQOM41aBpDT_Tgpct-Goz2LuD-vDj_L28O_f4uHUFfCDhViSgN7I33EKUaS_t02FWuQemMXFumRj9BqZNSCnveBnXiNh0AVW6ayjIcaMd4aeKsyimSviQ2WJap4UfngoddGnwF7vx5SPetfk0UgNAcFHQHQVgxvJBxy6BcYGpiMqVD6lHiexrp7OOMf5xAAgD51inQUmq-QkGPZqivd9QWGbxr92QPtbMCI7cxrcJuY-lJTeJM1GjlGLTQEZ15BK09PptR7tv3UT587pJqKg
2021-06-11 14:37:31
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
authorization_code
code
FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMSwiaWF0IjoxNjIzNDIyMjUxLCJqdGkiOiJVWndmVDkyQmZMMjVaczB0dkhJYiJ9.SBhoW9L846lDS0sgCSD6vVSS4rcvty8K30iTOISaSkzIAzbhADwIiYpRw7QvDqyqesKQOM41aBpDT_Tgpct-Goz2LuD-vDj_L28O_f4uHUFfCDhViSgN7I33EKUaS_t02FWuQemMXFumRj9BqZNSCnveBnXiNh0AVW6ayjIcaMd4aeKsyimSviQ2WJap4UfngoddGnwF7vx5SPetfk0UgNAcFHQHQVgxvJBxy6BcYGpiMqVD6lHiexrp7OOMf5xAAgD51inQUmq-QkGPZqivd9QWGbxr92QPtbMCI7cxrcJuY-lJTeJM1GjlGLTQEZ15BK09PptR7tv3UT587pJqKg
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2021-06-11 14:37:31
CallTokenEndpoint
HTTP request
request_uri
https://mtls.fapi.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "954"
}
request_body
grant_type=authorization_code&code=FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidc-provider-by_value-private_key_jwt-plain_fapi-plain_response%2Fcallback&client_assertion=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMSwiaWF0IjoxNjIzNDIyMjUxLCJqdGkiOiJVWndmVDkyQmZMMjVaczB0dkhJYiJ9.SBhoW9L846lDS0sgCSD6vVSS4rcvty8K30iTOISaSkzIAzbhADwIiYpRw7QvDqyqesKQOM41aBpDT_Tgpct-Goz2LuD-vDj_L28O_f4uHUFfCDhViSgN7I33EKUaS_t02FWuQemMXFumRj9BqZNSCnveBnXiNh0AVW6ayjIcaMd4aeKsyimSviQ2WJap4UfngoddGnwF7vx5SPetfk0UgNAcFHQHQVgxvJBxy6BcYGpiMqVD6lHiexrp7OOMf5xAAgD51inQUmq-QkGPZqivd9QWGbxr92QPtbMCI7cxrcJuY-lJTeJM1GjlGLTQEZ15BK09PptR7tv3UT587pJqKg&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc\u003d",
  "key": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw"
}
2021-06-11 14:37:31 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
https://*/test/a/*/callback*
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback#code=FWnBYA42XWq3WQnuRczr8NjCMd1YdCGfKn02FC5sHSn&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiY19oYXNoIjoiS1kyUVJKeThRemhLb1dkVFFyOFEzZyIsInNfaGFzaCI6Ii1ZRnRuUUdwblFBZEV6X2lTREFBcFEiLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTEsImlhdCI6MTYyMzQyMjI1MSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ktJHRdVg6fKTAFvouqbnpNZugo_LBCwx5nSJHxcHJlJgnHn-D2-YJ3Nke9eA4jAB5llyB5QVofkAbMEAQ_uCxX9aj1fRF9X-7fH1KRvuO7Emty4NTL_JkpgJa2KoOKJ7YvoLxD5gi1Lrc1aGohjZXZ7cqwTNCcTnCcuXAY66mo7D_QyXFR6OUWSWICHpixIMlfrXVONpcFdixOAA--5K5libiU3k8h9JbVBV820gs8tipLngmsrJECRhB3gU78xImbINEN7JwYBLBmV8ND8i_fRcU9JcFH2B_C0I9-8ECrdEyC44sByYPa1GyVMdMNY0oWoNZmlmRlXhB1WhH9k91w&state=ApTxAL00ij
response_status_code
200
2021-06-11 14:37:32 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "911",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:32 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"access_token":"EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ","refresh_token":"W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:32
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ","refresh_token":"W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:32 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u
expires_in
3600
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
scope
openid offline_access
token_type
Bearer
Verify token endpoint response
2021-06-11 14:37:32 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-06-11 14:37:32 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u
2021-06-11 14:37:32 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u
type
Bearer
2021-06-11 14:37:32 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2021-06-11 14:37:32 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2021-06-11 14:37:32 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
2021-06-11 14:37:32 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-06-11 14:37:32 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
209.81960944786323
expected
96.0
2021-06-11 14:37:32 SUCCESS
EnsureMinimumAccessTokenLength
Access token is of sufficient length
actual
344
required
128
2021-06-11 14:37:32 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
209.06472194569977
expected
96.0
2021-06-11 14:37:32 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "at_hash": "wx7YHhzX9k3hpkJC4n4sZw",
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "aud": "pkjwt-one",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425852,
  "nonce": "SXacMRnlGk",
  "iat": 1623422252
}
2021-06-11 14:37:32 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-06-11 14:37:32 SUCCESS
EnsureIdTokenContainsKid
kid was found in the ID token header
kid
EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M
2021-06-11 14:37:32 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
SXacMRnlGk
2021-06-11 14:37:32 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
actual
urn:mace:incommon:iap:silver
requested
[
  "urn:mace:incommon:iap:silver"
]
2021-06-11 14:37:32 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ
2021-06-11 14:37:32 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ind4N1lIaHpYOWszaHBrSkM0bjRzWnciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTIsImlhdCI6MTYyMzQyMjI1MiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.m3nLoPFuho2poZnDjoDgBpc07uxAMA-Q-U_qzrfbOuY2u6zgvddmFLwFw2oY5hQ-_clwT-FafjogHk33PsFqzGuYJxfWNILJ7we_7xmGa-W8WMBQ-VU8pk2_A_Fc0VRcpCeHzK8E3B8HaECbzohKzxUsI5neDNV9xl7E80J-W-Cq9zxvtQYBMPuxKd6YgI5wv4bnE7NqEzlNm26Du7MrS4x584xBN_I98NXTCEnz0hbxz9Ky8Ajulq2GkH5RQQINdMnlO0c7MQYV4bs1f2QVRpe4sRUiA2U6jcghfc3Mlz1TxICe49DCx_AEnB0O3JBAd2x3juyne_DUVzjZbN0uoQ
2021-06-11 14:37:32 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
2021-06-11 14:37:32 SUCCESS
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
permitted
[
  "PS256",
  "ES256"
]
alg
PS256
2021-06-11 14:37:32 INFO
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:32 INFO
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:32 INFO
ExtractCHash
Couldn't find c_hash in ID token
2021-06-11 14:37:32 INFO
ExtractSHash
Couldn't find s_hash in ID token
2021-06-11 14:37:32 SUCCESS
ExtractAtHash
Extracted at_hash from ID Token
at_hash
wx7YHhzX9k3hpkJC4n4sZw
alg
PS256
2021-06-11 14:37:32 INFO
ValidateCHash
Skipped evaluation due to missing required object: c_hash
expected
c_hash
mapped
2021-06-11 14:37:32 INFO
ValidateSHash
Skipped evaluation due to missing required object: s_hash
expected
s_hash
mapped
2021-06-11 14:37:32 SUCCESS
ValidateAtHash
at_hash validated successfully
expected_hash
wx7YHhzX9k3hpkJC4n4sZw
unhashed_value
EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u
id_token_hash
wx7YHhzX9k3hpkJC4n4sZw
Verify at_hash in the authorization endpoint id_token
2021-06-11 14:37:32 INFO
ExtractAtHash
Couldn't find at_hash in ID token
2021-06-11 14:37:32 INFO
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
expected
at_hash
mapped
Check for refresh token
2021-06-11 14:37:32 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
2021-06-11 14:37:32 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "urn:openid:params:grant-type:ciba"
]
2021-06-11 14:37:32 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Refresh Token Request
2021-06-11 14:37:32 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
2021-06-11 14:37:32 SUCCESS
AddScopeToTokenEndpointRequest
Added scope of 'openid offline_access' to token endpoint request
grant_type
refresh_token
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
scope
openid offline_access
2021-06-11 14:37:32 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
pkjwt-one
sub
pkjwt-one
aud
https://mtls.fapi.panva.cz/token
jti
mq0zBuVeBVGRN3L31Yn3
iat
1623422252
exp
1623422312
2021-06-11 14:37:32 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMiwiaWF0IjoxNjIzNDIyMjUyLCJqdGkiOiJtcTB6QnVWZUJWR1JOM0wzMVluMyJ9.CmYuAurXOg-hIrHu0q9ntT63UwIiIXvl1DCqOkdgla3IP1Woe0NQBfh-cPA02ov2TulBdvhV8-uXm2MUopJ7mjBqgydEZmMbqsysuvL1qy9G-U8KaYqVEOIhUeRMdAmPDpYpkCQUqSGG8wl4xQ145YQBMQ9gul0otBPACvhtKYvuM4oop7F9rtbqzHpFPG_HvKLeFjo0GuAII5zfLiNgqBZPfVemMFvdXHFtpDI8BCzDLXKXb253i-fbkhIOngNh5rSelh6VI8E45ADIpgJ1a_l26DI4980fy2pqHoAkikmUL23EaSyeapwP-C7YwICNrD5scUMsSHAk9GsSTc7T7A
2021-06-11 14:37:32
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
refresh_token
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
scope
openid offline_access
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMiwiaWF0IjoxNjIzNDIyMjUyLCJqdGkiOiJtcTB6QnVWZUJWR1JOM0wzMVluMyJ9.CmYuAurXOg-hIrHu0q9ntT63UwIiIXvl1DCqOkdgla3IP1Woe0NQBfh-cPA02ov2TulBdvhV8-uXm2MUopJ7mjBqgydEZmMbqsysuvL1qy9G-U8KaYqVEOIhUeRMdAmPDpYpkCQUqSGG8wl4xQ145YQBMQ9gul0otBPACvhtKYvuM4oop7F9rtbqzHpFPG_HvKLeFjo0GuAII5zfLiNgqBZPfVemMFvdXHFtpDI8BCzDLXKXb253i-fbkhIOngNh5rSelh6VI8E45ADIpgJ1a_l26DI4980fy2pqHoAkikmUL23EaSyeapwP-C7YwICNrD5scUMsSHAk9GsSTc7T7A
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2021-06-11 14:37:32 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2021-06-11 14:37:33 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2021-06-11 14:37:33
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://mtls.fapi.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "841"
}
request_body
grant_type=refresh_token&refresh_token=W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i&scope=openid+offline_access&client_assertion=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMxMiwiaWF0IjoxNjIzNDIyMjUyLCJqdGkiOiJtcTB6QnVWZUJWR1JOM0wzMVluMyJ9.CmYuAurXOg-hIrHu0q9ntT63UwIiIXvl1DCqOkdgla3IP1Woe0NQBfh-cPA02ov2TulBdvhV8-uXm2MUopJ7mjBqgydEZmMbqsysuvL1qy9G-U8KaYqVEOIhUeRMdAmPDpYpkCQUqSGG8wl4xQ145YQBMQ9gul0otBPACvhtKYvuM4oop7F9rtbqzHpFPG_HvKLeFjo0GuAII5zfLiNgqBZPfVemMFvdXHFtpDI8BCzDLXKXb253i-fbkhIOngNh5rSelh6VI8E45ADIpgJ1a_l26DI4980fy2pqHoAkikmUL23EaSyeapwP-C7YwICNrD5scUMsSHAk9GsSTc7T7A&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc\u003d",
  "key": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw"
}
2021-06-11 14:37:34 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "911",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:34 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"access_token":"dJqZM_wmGYIOOdxDqEc8iCLeM9cduQpnPocuHv6khWm","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ijk1cWhQX25KZy15NjlvZ1ZYTFpOTmciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTQsImlhdCI6MTYyMzQyMjI1NCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.pUJT-7BgYw4d9z3PYFwbE1kqL2kjUyuTwhz5FYI122Yk0Uny5ysGeo4AFYcOK9xCrnL_wB-dQmSylU7T3la_BLkdGECkH4cYSD9hhTAlnJfep0a8poJGWAUSYT3FNam_tjWEgoG60y2IwbA_1jJ9l1TK526OScVJiUeL8F_fI-MkJmsLHzqpubimkbtvc4z4PDmw3qfWJ_jvHgS63S17859WAG5-Ao_ljmecLjD91eET5nUouhrc9cuZHGK1N5cgZhEhP8EvMmBQG9YwicIN-eUEIFPtPc1OfYYsMBjWlEiBkigzkNPFLvhiyfYetFPB3aNHwm4THKzzWnAzCUQ-4w","refresh_token":"W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:34 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
dJqZM_wmGYIOOdxDqEc8iCLeM9cduQpnPocuHv6khWm
expires_in
3600
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ijk1cWhQX25KZy15NjlvZ1ZYTFpOTmciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTQsImlhdCI6MTYyMzQyMjI1NCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.pUJT-7BgYw4d9z3PYFwbE1kqL2kjUyuTwhz5FYI122Yk0Uny5ysGeo4AFYcOK9xCrnL_wB-dQmSylU7T3la_BLkdGECkH4cYSD9hhTAlnJfep0a8poJGWAUSYT3FNam_tjWEgoG60y2IwbA_1jJ9l1TK526OScVJiUeL8F_fI-MkJmsLHzqpubimkbtvc4z4PDmw3qfWJ_jvHgS63S17859WAG5-Ao_ljmecLjD91eET5nUouhrc9cuZHGK1N5cgZhEhP8EvMmBQG9YwicIN-eUEIFPtPc1OfYYsMBjWlEiBkigzkNPFLvhiyfYetFPB3aNHwm4THKzzWnAzCUQ-4w
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
scope
openid offline_access
token_type
Bearer
2021-06-11 14:37:34 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2021-06-11 14:37:34 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-06-11 14:37:34 SUCCESS
CheckTokenEndpointCacheHeaders
'pragma' and 'cache-control' headers in token endpoint response contain expected values.
cache_control_header
no-cache, no-store
pragma_header
no-cache
2021-06-11 14:37:34 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-06-11 14:37:34 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
dJqZM_wmGYIOOdxDqEc8iCLeM9cduQpnPocuHv6khWm
type
Bearer
2021-06-11 14:37:34 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2021-06-11 14:37:34 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
213.81960944786326
expected
96.0
2021-06-11 14:37:34 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2021-06-11 14:37:34 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2021-06-11 14:37:34 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2021-06-11 14:37:34 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
EQhUPXP38XAfwp5xZ0Y33VS75NpTeMTcTlSLCdFws5u
second_access_token
dJqZM_wmGYIOOdxDqEc8iCLeM9cduQpnPocuHv6khWm
2021-06-11 14:37:34 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJTWGFjTVJubEdrIiwiYXRfaGFzaCI6Ijk1cWhQX25KZy15NjlvZ1ZYTFpOTmciLCJhdWQiOiJwa2p3dC1vbmUiLCJleHAiOjE2MjM0MjU4NTQsImlhdCI6MTYyMzQyMjI1NCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.pUJT-7BgYw4d9z3PYFwbE1kqL2kjUyuTwhz5FYI122Yk0Uny5ysGeo4AFYcOK9xCrnL_wB-dQmSylU7T3la_BLkdGECkH4cYSD9hhTAlnJfep0a8poJGWAUSYT3FNam_tjWEgoG60y2IwbA_1jJ9l1TK526OScVJiUeL8F_fI-MkJmsLHzqpubimkbtvc4z4PDmw3qfWJ_jvHgS63S17859WAG5-Ao_ljmecLjD91eET5nUouhrc9cuZHGK1N5cgZhEhP8EvMmBQG9YwicIN-eUEIFPtPc1OfYYsMBjWlEiBkigzkNPFLvhiyfYetFPB3aNHwm4THKzzWnAzCUQ-4w
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "at_hash": "95qhP_nJg-y69ogVXLZNNg",
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "aud": "pkjwt-one",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425854,
  "nonce": "SXacMRnlGk",
  "iat": 1623422254
}
2021-06-11 14:37:34 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
W0Pu2UcCkanTliBZ9O23lBlJMSORxC3XbJjK41CG-0i
2021-06-11 14:37:34 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-06-11 14:37:34 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
209.81960944786323
expected
96.0
2021-06-11 14:37:34 SUCCESS
CompareIdTokenClaims
Validated id token claims successfully
iss
{
  "first": "https://fapi.panva.cz",
  "second": "https://fapi.panva.cz",
  "note": "Values are expected to be equal"
}
sub
{
  "first": "foo",
  "second": "foo",
  "note": "Values are expected to be equal"
}
iat
{
  "first": 1623422252,
  "second": 1623422254,
  "note": "Values are expected to be different"
}
aud
{
  "first": "pkjwt-one",
  "second": "pkjwt-one",
  "note": "Values are expected to be equal"
}
azp
Id tokens do not contain azp claims
Resource server endpoint tests
2021-06-11 14:37:34
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
resource_endpoint_request_headers
{}
2021-06-11 14:37:34 SUCCESS
AddFAPIAuthDateToResourceEndpointRequest
Added x-fapi-auth-date to resource endpoint request headers
resource_endpoint_request_headers
{
  "x-fapi-auth-date": "Fri, 11 Jun 2021 14:37:34 GMT"
}
2021-06-11 14:37:34
AddIpV4FapiCustomerIpAddressToResourceEndpointRequest
Added x-fapi-customer-ip-address containing IPv4 address to resource endpoint request headers
resource_endpoint_request_headers
{
  "x-fapi-auth-date": "Fri, 11 Jun 2021 14:37:34 GMT",
  "x-fapi-customer-ip-address": "198.51.100.119"
}
2021-06-11 14:37:34
CreateRandomFAPIInteractionId
Created interaction ID
fapi_interaction_id
106506d3-02b8-4223-8738-3ddcc1ce45dd
2021-06-11 14:37:34 SUCCESS
AddFAPIInteractionIdToResourceEndpointRequest
Added x-fapi-interaction-id to resource endpoint request headers
resource_endpoint_request_headers
{
  "x-fapi-auth-date": "Fri, 11 Jun 2021 14:37:34 GMT",
  "x-fapi-customer-ip-address": "198.51.100.119",
  "x-fapi-interaction-id": "106506d3-02b8-4223-8738-3ddcc1ce45dd"
}
2021-06-11 14:37:34
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
request_uri
https://mtls.fapi.panva.cz/accounts
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "x-fapi-auth-date": "Fri, 11 Jun 2021 14:37:34 GMT",
  "x-fapi-customer-ip-address": "198.51.100.119",
  "x-fapi-interaction-id": "106506d3-02b8-4223-8738-3ddcc1ce45dd",
  "authorization": "Bearer dJqZM_wmGYIOOdxDqEc8iCLeM9cduQpnPocuHv6khWm",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc\u003d",
  "key": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw"
}
2021-06-11 14:37:35 RESPONSE
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:35 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-fapi-interaction-id": "106506d3-02b8-4223-8738-3ddcc1ce45dd",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"sub":"foo"}
2021-06-11 14:37:35 SUCCESS
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:35 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-fapi-interaction-id": "106506d3-02b8-4223-8738-3ddcc1ce45dd",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
status_code
{
  "code": 200
}
body
{"sub":"foo"}
2021-06-11 14:37:35 SUCCESS
CheckForDateHeaderInResourceResponse
Date header present and validated
date
Fri, 11 Jun 2021 14:37:35 GMT
skew
506
2021-06-11 14:37:35 SUCCESS
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
interaction_id
106506d3-02b8-4223-8738-3ddcc1ce45dd
2021-06-11 14:37:35 SUCCESS
EnsureMatchingFAPIInteractionId
Interaction ID matched
fapi_interaction_id
106506d3-02b8-4223-8738-3ddcc1ce45dd
2021-06-11 14:37:35 SUCCESS
EnsureResourceResponseReturnedJsonContentType
Response content type is JSON
content_type
application/json; charset=utf-8
Second client: Setup
2021-06-11 14:37:35 SUCCESS
AddRedirectUriQuerySuffix
Created redirect URI query suffix to test that query sections in the registered redirect url are handled correctly. The redirect url, including this suffix, must be registered for the client as per http://openid.net/certification/fapi_op_testing/
redirect_uri_suffix
?dummy1=lorem&dummy2=ipsum
2021-06-11 14:37:35
CreateRedirectUri
Appending suffix to redirect URI
suffix
?dummy1=lorem&dummy2=ipsum
2021-06-11 14:37:35 SUCCESS
CreateRedirectUri
Created redirect URI
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
Second client: Make request to authorization endpoint
2021-06-11 14:37:35 SUCCESS
CreateAuthorizationEndpointRequestFromClientInformation
Created authorization endpoint request
client_id
pkjwt-two
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
scope
openid offline_access
2021-06-11 14:37:35 SUCCESS
AddAcrClaimToAuthorizationEndpointRequest
Added acr claim to authorization_endpoint_request
authorization_endpoint_request
{
  "client_id": "pkjwt-two",
  "redirect_uri": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1\u003dlorem\u0026dummy2\u003dipsum",
  "scope": "openid offline_access",
  "claims": {
    "id_token": {
      "acr": {
        "value": "urn:mace:incommon:iap:silver",
        "essential": true
      }
    }
  }
}
2021-06-11 14:37:35
CreateRandomStateValue
Created state value
requested_state_length
10
state
L7TiivxI9M
2021-06-11 14:37:35 SUCCESS
AddStateToAuthorizationEndpointRequest
Added state parameter to request
client_id
pkjwt-two
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
L7TiivxI9M
2021-06-11 14:37:35
CreateRandomNonceValue
Created nonce value
requested_nonce_length
10
nonce
GMqV3puNy1
2021-06-11 14:37:35 SUCCESS
AddNonceToAuthorizationEndpointRequest
Added nonce parameter to request
client_id
pkjwt-two
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
L7TiivxI9M
nonce
GMqV3puNy1
2021-06-11 14:37:35 SUCCESS
SetAuthorizationEndpointRequestResponseTypeToCodeIdtoken
Added response_type parameter to request
client_id
pkjwt-two
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
L7TiivxI9M
nonce
GMqV3puNy1
response_type
code id_token
2021-06-11 14:37:35 SUCCESS
AddPromptConsentToAuthorizationEndpointRequestIfScopeContainsOfflineAccess
Added prompt=consent to authorization endpoint request
client_id
pkjwt-two
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
scope
openid offline_access
claims
{
  "id_token": {
    "acr": {
      "value": "urn:mace:incommon:iap:silver",
      "essential": true
    }
  }
}
state
L7TiivxI9M
nonce
GMqV3puNy1
response_type
code id_token
prompt
consent
2021-06-11 14:37:35 SUCCESS
ConvertAuthorizationEndpointRequestToRequestObject
Created request object claims
request_object_claims
{
  "client_id": "pkjwt-two",
  "redirect_uri": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1\u003dlorem\u0026dummy2\u003dipsum",
  "scope": "openid offline_access",
  "claims": {
    "id_token": {
      "acr": {
        "value": "urn:mace:incommon:iap:silver",
        "essential": true
      }
    }
  },
  "state": "L7TiivxI9M",
  "nonce": "GMqV3puNy1",
  "response_type": "code id_token",
  "prompt": "consent"
}
2021-06-11 14:37:35 SUCCESS
AddIatToRequestObject
Added iat to request object claims
iat
1.623422255E9
2021-06-11 14:37:35 SUCCESS
AddNbfToRequestObject
Added nbf to request object claims
nbf
1.623422255E9
2021-06-11 14:37:35 SUCCESS
AddExpToRequestObject
Added exp to request object claims
exp
1.623422555E9
2021-06-11 14:37:35 SUCCESS
AddAudToRequestObject
Added aud to request object claims
aud
https://fapi.panva.cz
2021-06-11 14:37:35 SUCCESS
AddIssToRequestObject
Added iss to request object claims
iss
pkjwt-two
2021-06-11 14:37:35 SUCCESS
AddClientIdToRequestObject
Added client_id to request object claims
client_id
pkjwt-two
2021-06-11 14:37:35 SUCCESS
SignRequestObject
Signed the request object
claims
{"iss":"pkjwt-two","response_type":"code id_token","nonce":"GMqV3puNy1","client_id":"pkjwt-two","aud":"https:\/\/fapi.panva.cz","nbf":1623422255,"scope":"openid offline_access","claims":{"id_token":{"acr":{"value":"urn:mace:incommon:iap:silver","essential":true}}},"redirect_uri":"https:\/\/www.certification.openid.net\/test\/a\/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response\/callback?dummy1=lorem&dummy2=ipsum","state":"L7TiivxI9M","exp":1623422555,"prompt":"consent","iat":1623422255}
header
{"kid":"NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0","alg":"PS256"}
request_object
eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJpc3MiOiJwa2p3dC10d28iLCJyZXNwb25zZV90eXBlIjoiY29kZSBpZF90b2tlbiIsIm5vbmNlIjoiR01xVjNwdU55MSIsImNsaWVudF9pZCI6InBrand0LXR3byIsImF1ZCI6Imh0dHBzOlwvXC9mYXBpLnBhbnZhLmN6IiwibmJmIjoxNjIzNDIyMjU1LCJzY29wZSI6Im9wZW5pZCBvZmZsaW5lX2FjY2VzcyIsImNsYWltcyI6eyJpZF90b2tlbiI6eyJhY3IiOnsidmFsdWUiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwiZXNzZW50aWFsIjp0cnVlfX19LCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2s_ZHVtbXkxPWxvcmVtJmR1bW15Mj1pcHN1bSIsInN0YXRlIjoiTDdUaWl2eEk5TSIsImV4cCI6MTYyMzQyMjU1NSwicHJvbXB0IjoiY29uc2VudCIsImlhdCI6MTYyMzQyMjI1NX0.FbcniPQQponvAMMITpzHHXZuXJHWLUfc1VhntKMHMTjHUSFeVfxbhEPIe8b3DtmKnlngbX0__AxRO70kB42RlxdItGHw3pnzeplNqysBTsnQdQ19E9bM37nXkzSsDIr134U2FxXUIMCAJPXA5SmykNM5RwRTUcIg157kvcNgnddvGc15XZv6bPu3nBr-7JZJiubq7advSYRZbM9Yt3jzsePMb6088EIpaWtnOVyHFU9FT62pBElZmdzX-RIe7QPLc5BbhAHJarq1gZoQ3ORQPo9wdMuPS72V-Av3bgnn5gJQpJNN7FGiR3eN1xb1VsEemUqggUpm4g4DsCKFhC1BmA
key
{"p":"_WOUrDYt1uay8XtnaNgutctzdI6XJaf5XrGv6wE_ZoVbqEKWTnBbVfqbwkWf58CeH32tt3hUjBFicG-XAlYI8TW5Lf6H78Fmt2y3fdowLzzWLwNDoLWo1_rOGxneL-vYM1MekZyUN-uDARdEeOL9yRPFKOZm7eWSUc_Sdlu9yuc","kty":"RSA","q":"6XitRdF0tFu7O7S1rQZZjqhrza53f-Ox1vCYY_Hy4Tm_1fMc7GV0VCHoQwO3ZJPlPEE0JahnfpQkhHGj67GGO40lZYEXdBwNxtktp1zdmEokbsWmacz57SVPg4pzgS9kketf-wdUbT5VgBmNWS9MPt7rKiyFbmuPcHU99fWEsaE","d":"ttJDnX4Z7Q3DORORHU31H74wbmidC2_tzoEwBWkeUZ6cEediQKmy1v_kcGQ4cpRXXINmhuKdaNTqSzhZlk45w6MOJ2TOtBXgPVwPiYDvThWGFuvjfDeX3FAaxZrJ5a9Jn-w4Db3L2sQT-5NBvjViU5RG54Ze4PB_m_wOiUGXEfgonv64APPBkodIz_26lJ-r4447tcdMkDw4p6xTP-y33sPB4ZOhQ5ezE4FzQlpq0K98ysKLwo8wvhQ8stxqL46avBnflgDhTsb-1I54aU3ROjThU5tkeAkudzg4lFKdd4WmVneVMD-FJ2wrkjwztqHSBCP8G9IAXBdXRxRzdJIOAQ","e":"AQAB","use":"sig","kid":"NriyGITqpt6QdRBXz6k_qjup6vO_81Namq05CX4hij0","qi":"rbxxLBMPxBVpoyNfpjYtXEuem0HHvemHiGklhCbJO_N3vRu8lEarlZ_IPLrRmq7he0cNHcd4j_yhge1-0RR0LzJ4l_Wg-B1Jc0fKJrSItp8pmjmaVHbp_ToYqVlJh_AfU5tru86zSCvVycV79BvkvLl6IusDAuRK8eD1h7dU59g","dp":"e_5s1FC24cCGtFCU6-NOCDwExXa5U_38s2_0C-XSZpK_pXjgIIYuy8YUzl5Pv5KsTfCsP2msxdYD-80_ci8ztQV7FpzFXHehkgSrTfSlO5hjnyHTyCLc-sOKdAyWg5C_fW4hOVQL28ltk-0U3qsFUY5RHpCQsb1zeoFeFfkSyOU","alg":"PS256","dq":"2tyhsh2UBa8oaeQRm02kjrMbvAidRWoxwIhykt6xDKmSSAJLTuAcmPHgRVIqjUKHVmDZfaPMwUAmq3HMdJpKd3DtaaYGUnYqBAp7XbUUljqKxLzML8pTUBf13h3gAW5oHNJFe5F3d6FDjX5mnwBTvWxDj5mEy-pQ4N9HYlbyOYE","n":"5xcUf9SqYSEQHDyQft6iabfz5WvuZyjFLTj9x_R8ARdBDyVE42vkWnf6jOZoeMZ_WjtYGLF0nwnuEVBoCVxP4Nu1UUQq8OTigmk2f4IyPT-79pvW9b7EGQDdTsBIrrb2AKktwDJe16uK64kDNO0Ay3U_nShIPgMVbmGd_K6__OwwhhrLwKv_OSbvU8ZlPI24jy1Yxfq175F_1ZQBRjm0jAMf6PBt8cgxQclgbpP-7OBUQHBzpfudD1U9W6V8hqKKjDldlI9Zg6xBa8MpC6JuQdgwkcugWdwyG69p2kq_pyl735C8yj9Bif7Vok1d4E81cSh8Jy1wGNfAmlz8ncJSRw"}
2021-06-11 14:37:35 SUCCESS
BuildRequestObjectByValueRedirectToAuthorizationEndpoint
Sending to authorization endpoint
redirect_to_authorization_endpoint
https://fapi.panva.cz/auth?request=eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJpc3MiOiJwa2p3dC10d28iLCJyZXNwb25zZV90eXBlIjoiY29kZSBpZF90b2tlbiIsIm5vbmNlIjoiR01xVjNwdU55MSIsImNsaWVudF9pZCI6InBrand0LXR3byIsImF1ZCI6Imh0dHBzOlwvXC9mYXBpLnBhbnZhLmN6IiwibmJmIjoxNjIzNDIyMjU1LCJzY29wZSI6Im9wZW5pZCBvZmZsaW5lX2FjY2VzcyIsImNsYWltcyI6eyJpZF90b2tlbiI6eyJhY3IiOnsidmFsdWUiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwiZXNzZW50aWFsIjp0cnVlfX19LCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2s_ZHVtbXkxPWxvcmVtJmR1bW15Mj1pcHN1bSIsInN0YXRlIjoiTDdUaWl2eEk5TSIsImV4cCI6MTYyMzQyMjU1NSwicHJvbXB0IjoiY29uc2VudCIsImlhdCI6MTYyMzQyMjI1NX0.FbcniPQQponvAMMITpzHHXZuXJHWLUfc1VhntKMHMTjHUSFeVfxbhEPIe8b3DtmKnlngbX0__AxRO70kB42RlxdItGHw3pnzeplNqysBTsnQdQ19E9bM37nXkzSsDIr134U2FxXUIMCAJPXA5SmykNM5RwRTUcIg157kvcNgnddvGc15XZv6bPu3nBr-7JZJiubq7advSYRZbM9Yt3jzsePMb6088EIpaWtnOVyHFU9FT62pBElZmdzX-RIe7QPLc5BbhAHJarq1gZoQ3ORQPo9wdMuPS72V-Av3bgnn5gJQpJNN7FGiR3eN1xb1VsEemUqggUpm4g4DsCKFhC1BmA&client_id=pkjwt-two&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1%3Dlorem%26dummy2%3Dipsum&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:35 REDIRECT
fapi1-advanced-final-refresh-token
Redirecting to authorization endpoint
redirect_to
https://fapi.panva.cz/auth?request=eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJpc3MiOiJwa2p3dC10d28iLCJyZXNwb25zZV90eXBlIjoiY29kZSBpZF90b2tlbiIsIm5vbmNlIjoiR01xVjNwdU55MSIsImNsaWVudF9pZCI6InBrand0LXR3byIsImF1ZCI6Imh0dHBzOlwvXC9mYXBpLnBhbnZhLmN6IiwibmJmIjoxNjIzNDIyMjU1LCJzY29wZSI6Im9wZW5pZCBvZmZsaW5lX2FjY2VzcyIsImNsYWltcyI6eyJpZF90b2tlbiI6eyJhY3IiOnsidmFsdWUiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwiZXNzZW50aWFsIjp0cnVlfX19LCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2s_ZHVtbXkxPWxvcmVtJmR1bW15Mj1pcHN1bSIsInN0YXRlIjoiTDdUaWl2eEk5TSIsImV4cCI6MTYyMzQyMjU1NSwicHJvbXB0IjoiY29uc2VudCIsImlhdCI6MTYyMzQyMjI1NX0.FbcniPQQponvAMMITpzHHXZuXJHWLUfc1VhntKMHMTjHUSFeVfxbhEPIe8b3DtmKnlngbX0__AxRO70kB42RlxdItGHw3pnzeplNqysBTsnQdQ19E9bM37nXkzSsDIr134U2FxXUIMCAJPXA5SmykNM5RwRTUcIg157kvcNgnddvGc15XZv6bPu3nBr-7JZJiubq7advSYRZbM9Yt3jzsePMb6088EIpaWtnOVyHFU9FT62pBElZmdzX-RIe7QPLc5BbhAHJarq1gZoQ3ORQPo9wdMuPS72V-Av3bgnn5gJQpJNN7FGiR3eN1xb1VsEemUqggUpm4g4DsCKFhC1BmA&client_id=pkjwt-two&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1%3Dlorem%26dummy2%3Dipsum&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:35
WebRunner
Scripted browser HTTP request
browser
goToUrl
request_method
GET
request_uri
https://fapi.panva.cz/auth?request=eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJpc3MiOiJwa2p3dC10d28iLCJyZXNwb25zZV90eXBlIjoiY29kZSBpZF90b2tlbiIsIm5vbmNlIjoiR01xVjNwdU55MSIsImNsaWVudF9pZCI6InBrand0LXR3byIsImF1ZCI6Imh0dHBzOlwvXC9mYXBpLnBhbnZhLmN6IiwibmJmIjoxNjIzNDIyMjU1LCJzY29wZSI6Im9wZW5pZCBvZmZsaW5lX2FjY2VzcyIsImNsYWltcyI6eyJpZF90b2tlbiI6eyJhY3IiOnsidmFsdWUiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwiZXNzZW50aWFsIjp0cnVlfX19LCJyZWRpcmVjdF91cmkiOiJodHRwczpcL1wvd3d3LmNlcnRpZmljYXRpb24ub3BlbmlkLm5ldFwvdGVzdFwvYVwvb2lkYy1wcm92aWRlci1ieV92YWx1ZS1wcml2YXRlX2tleV9qd3QtcGxhaW5fZmFwaS1wbGFpbl9yZXNwb25zZVwvY2FsbGJhY2s_ZHVtbXkxPWxvcmVtJmR1bW15Mj1pcHN1bSIsInN0YXRlIjoiTDdUaWl2eEk5TSIsImV4cCI6MTYyMzQyMjU1NSwicHJvbXB0IjoiY29uc2VudCIsImlhdCI6MTYyMzQyMjI1NX0.FbcniPQQponvAMMITpzHHXZuXJHWLUfc1VhntKMHMTjHUSFeVfxbhEPIe8b3DtmKnlngbX0__AxRO70kB42RlxdItGHw3pnzeplNqysBTsnQdQ19E9bM37nXkzSsDIr134U2FxXUIMCAJPXA5SmykNM5RwRTUcIg157kvcNgnddvGc15XZv6bPu3nBr-7JZJiubq7advSYRZbM9Yt3jzsePMb6088EIpaWtnOVyHFU9FT62pBElZmdzX-RIe7QPLc5BbhAHJarq1gZoQ3ORQPo9wdMuPS72V-Av3bgnn5gJQpJNN7FGiR3eN1xb1VsEemUqggUpm4g4DsCKFhC1BmA&client_id=pkjwt-two&redirect_uri=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1%3Dlorem%26dummy2%3Dipsum&scope=openid%20offline_access&response_type=code%20id_token
2021-06-11 14:37:36 RESPONSE
WebRunner
Scripted browser HTTP response
response_content
<!DOCTYPE html>
<html >
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <title>Sign-in</title>
    <style>
      @import url(https://fonts.googleapis.com/css?family=Roboto:400,100);

      body {
        font-family: 'Roboto', sans-serif;
        margin-top: 25px;
        margin-bottom: 25px;
      }

      .login-card {
        padding: 40px;
        padding-top: 0px;
        padding-bottom: 10px;
        width: 274px;
        background-color: #F7F7F7;
        margin: 0 auto 10px;
        border-radius: 2px;
        box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3);
        overflow: hidden;
      }

      .login-card + .login-card {
        padding-top: 10px;
      }

      .login-card h1 {
        font-weight: 100;
        text-align: center;
        font-size: 2.3em;
      }

      .login-card [type=submit] {
        width: 100%;
        display: block;
        margin-bottom: 10px;
        position: relative;
      }

      .login-card input[type=text], input[type=email], input[type=password] {
        height: 44px;
        font-size: 16px;
        width: 100%;
        margin-bottom: 10px;
        -webkit-appearance: none;
        background: #fff;
        border: 1px solid #d9d9d9;
        border-top: 1px solid #c0c0c0;
        padding: 0 8px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
      }

      .login {
        text-align: center;
        font-size: 14px;
        font-family: 'Arial', sans-serif;
        font-weight: 700;
        height: 36px;
        padding: 0 8px;
      }

      .login-submit {
        border: 0px;
        color: #fff;
        text-shadow: 0 1px rgba(0,0,0,0.1);
        background-color: #4d90fe;
      }

      .login-card a {
        text-decoration: none;
        color: #666;
        font-weight: 400;
        text-align: center;
        display: inline-block;
        opacity: 0.6;
      }

      .login-help {
        width: 100%;
        text-align: center;
        font-size: 12px;
      }

      .login-client-image img {
        margin-bottom: 20px;
        display: block;
        margin-left: auto;
        margin-right: auto;
        width: 20%;
      }

      .login-card input[type=checkbox] {
        margin-bottom: 10px;
      }

      .login-card label {
        color: #999;
      }

      .grant-debug {
        text-align: center;
        font-family: Fixed, monospace;
        width: 100%;
        font-size: 12px;
        color: #999;
      }

      .grant-debug div {
        padding-top: 10px;
      }

      ul {
        font-weight: 100;
        padding-left: 1em;
        list-style-type: circle;
      }

      li + ul, ul + li, li + li {
        padding-top: 0.3em;
      }

      button {
        cursor: pointer;
      }
    </style>
  </head>
  <body>
    <div class="login-card">
      <h1>Authorize</h1>
      <div class="login-client-image">
  
</div>

<ul>












  <li>
  the client is asking to have offline access to this authorization
    
  </li>


</ul>

<form autocomplete="off" action="https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq" method="post">
  <input type="hidden" name="prompt" value="consent"/>
  <button autofocus type="submit" class="login login-submit">Continue</button>
</form>

      <div class="login-help">
        <a href="https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq/abort">[ Cancel ]</a>
        
        
      </div>
    </div>
    <div class="grant-debug">
      <details>
        <summary style="text-align: center;">(Click to expand) DEBUG information</summary>
        <div>
          <strong>uid</strong>: SvtaH4xSqFXQ2eLzyoweq
        </div>

        
        <div>
          SESSION <br>
         ========= <br>
          <strong>accountId</strong>: 'foo'<br/><strong>uid</strong>: 'zHSZYWL2EC1itgt-vcnrC'<br/><strong>cookie</strong>: '17l307JAYluZzssKL3gcb'<br/><strong>acr</strong>: 'urn:mace:incommon:iap:silver'
        </div>
        

        <div>
          PARAMS <br>
         ======== <br>
          <strong>client_id</strong>: 'pkjwt-two'<br/><strong>nonce</strong>: 'GMqV3puNy1'<br/><strong>prompt</strong>: 'consent'<br/><strong>redirect_uri</strong>: 'https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum'<br/><strong>response_type</strong>: 'code id_token'<br/><strong>scope</strong>: 'openid offline_access'<br/><strong>state</strong>: 'L7TiivxI9M'<br/><strong>claims</strong>: '{"id_token":{"acr":{"value":"urn:mace:incommon:iap:silver","essential":true}}}'
        </div>

        <div>
          PROMPT <br>
         ======== <br>
          <strong>name</strong>: 'consent'<br/><strong>reasons</strong>: [ 'consent_prompt', 'op_scopes_missing' ]<br/><strong>details</strong>: { missingOIDCScope: [ 'openid', 'offline_access' ] }
        </div>
      </details>
    </div>
  </body>
</html>
response_content_type
text/html
response_status_text
200-OK
response_status_code
200
2021-06-11 14:37:36 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
foo
url
https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq
target
login
2021-06-11 14:37:36 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Login
browser
text
element_type
name
value
foo
url
https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq
target
login
2021-06-11 14:37:36 INFO
WebRunner
Entering text
task
Login
browser
text
element_type
name
value
bar
url
https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq
target
password
2021-06-11 14:37:36 INFO
WebRunner
Element not found, skipping as 'text' command is marked 'optional'
task
Login
browser
text
element_type
name
value
bar
url
https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq
target
password
2021-06-11 14:37:36 INFO
WebRunner
Clicking an element
task
Login
browser
click
element_type
class
url
https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq
target
login-submit
2021-06-11 14:37:36 INCOMING
fapi1-advanced-final-refresh-token
Incoming HTTP request to test instance wFIileyH7ez1eec
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d18C6B266B2BF53C007502508A144E53D",
  "origin": "https://fapi.panva.cz",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
incoming_path
callback
incoming_body_form_params
incoming_method
GET
incoming_body_json
incoming_query_string_params
{
  "dummy1": "lorem",
  "dummy2": "ipsum"
}
incoming_body
2021-06-11 14:37:36 SUCCESS
CreateRandomImplicitSubmitUrl
Created random implicit submission URL
implicit_submit
{
  "path": "implicit/qHNhjbhZAWVcKF7PXfUp",
  "fullUrl": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/implicit/qHNhjbhZAWVcKF7PXfUp"
}
2021-06-11 14:37:36 OUTGOING
fapi1-advanced-final-refresh-token
Response to HTTP request to test instance wFIileyH7ez1eec
outgoing
ModelAndView [view="implicitCallback"; model={implicitSubmitUrl=https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/implicit/qHNhjbhZAWVcKF7PXfUp, returnUrl=/log-detail.html?log=wFIileyH7ez1eec}]
outgoing_path
callback
2021-06-11 14:37:37 INFO
WebRunner
Completed processing of webpage
task
Login
browser
complete
response_status_text
200-
match
https://fapi.panva.cz/interaction*
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum#code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q&state=L7TiivxI9M
response_status_code
200
2021-06-11 14:37:37
WebRunner
Skipping optional task due to URL mismatch
task
Consent
browser
skip
match
https://fapi.panva.cz/interaction*
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum#code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q&state=L7TiivxI9M
commands
[
  [
    "click",
    "class",
    "login-submit"
  ]
]
2021-06-11 14:37:37 INFO
WebRunner
Waiting
regexp
seconds
10
task
Verify Complete
browser
wait
action
element_type
id
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum#code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q&state=L7TiivxI9M
target
submission_complete
2021-06-11 14:37:37 INCOMING
fapi1-advanced-final-refresh-token
Incoming HTTP request to test instance wFIileyH7ez1eec
incoming_headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "*/*",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1\u003dlorem\u0026dummy2\u003dipsum#code\u003dIYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6\u0026id_token\u003deyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q\u0026state\u003dL7TiivxI9M",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d18C6B266B2BF53C007502508A144E53D",
  "x-requested-with": "XMLHttpRequest",
  "content-type": "text/plain",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "content-length": "821",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net",
  "connection": "close"
}
incoming_path
implicit/qHNhjbhZAWVcKF7PXfUp
incoming_body_form_params
incoming_method
POST
incoming_body_json
incoming_query_string_params
{}
incoming_body
#code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q&state=L7TiivxI9M
2021-06-11 14:37:37 OUTGOING
fapi1-advanced-final-refresh-token
Response to HTTP request to test instance wFIileyH7ez1eec
outgoing_status_code
204
outgoing_headers
{}
outgoing_body

                                
outgoing_path
implicit/qHNhjbhZAWVcKF7PXfUp
2021-06-11 14:37:37
ExtractImplicitHashToCallbackResponse
Extracted response from URL fragment
parameters
[
  {
    "name": "code",
    "value": "IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6"
  },
  {
    "name": "id_token",
    "value": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q"
  },
  {
    "name": "state",
    "value": "L7TiivxI9M"
  }
]
2021-06-11 14:37:37 SUCCESS
ExtractImplicitHashToCallbackResponse
Extracted the hash values
code
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q
state
L7TiivxI9M
2021-06-11 14:37:37 REDIRECT-IN
fapi1-advanced-final-refresh-token
Authorization endpoint response captured
url_query
{
  "dummy1": "lorem",
  "dummy2": "ipsum"
}
headers
{
  "host": "www.certification.openid.net",
  "upgrade-insecure-requests": "1",
  "user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/85.0.4183.83 Safari/537.36",
  "accept": "text/html,application/xhtml+xml,application/xml;q\u003d0.9,image/avif,image/webp,image/apng,*/*;q\u003d0.8,application/signed-exchange;v\u003db3;q\u003d0.9",
  "sec-fetch-site": "same-origin",
  "sec-fetch-mode": "navigate",
  "sec-fetch-user": "?1",
  "sec-fetch-dest": "document",
  "referer": "https://fapi.panva.cz/interaction/SvtaH4xSqFXQ2eLzyoweq",
  "accept-encoding": "gzip, deflate, br",
  "accept-language": "en-US",
  "cookie": "JSESSIONID\u003d18C6B266B2BF53C007502508A144E53D",
  "origin": "https://fapi.panva.cz",
  "cache-control": "max-age\u003d0",
  "x-ssl-cipher": "ECDHE-RSA-AES256-GCM-SHA384",
  "x-ssl-protocol": "TLSv1.2",
  "connection": "close",
  "x-forwarded-host": "www.certification.openid.net",
  "x-forwarded-server": "www.certification.openid.net"
}
http_method
GET
url_fragment
{
  "code": "IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6",
  "id_token": "eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q",
  "state": "L7TiivxI9M"
}
post_body
Second client: Verify authorization endpoint response
2021-06-11 14:37:37 SUCCESS
RejectErrorInUrlQuery
'error' is not present in URL query returned from authorization endpoint
2021-06-11 14:37:37 SUCCESS
RejectAuthCodeInUrlQuery
Authorization code is not present in URL query returned from authorization endpoint
2021-06-11 14:37:37 SUCCESS
CheckMatchingCallbackParameters
Callback parameters successfully verified
dummy1
lorem
dummy2
ipsum
2021-06-11 14:37:37 SUCCESS
RejectStateInUrlQueryForHybridFlow
state is correctly not present in URL query returned from authorization endpoint (as in the hybrid flow it must be returned in the URL fragment/hash only)
2021-06-11 14:37:37 SUCCESS
CheckIfAuthorizationEndpointError
No error from authorization endpoint
2021-06-11 14:37:37 SUCCESS
ValidateSuccessfulHybridResponseFromAuthorizationEndpoint
authorization endpoint response does not include unexpected parameters
code
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q
state
L7TiivxI9M
2021-06-11 14:37:37 SUCCESS
CheckStateInAuthorizationResponse
State in response correctly returned
state
L7TiivxI9M
2021-06-11 14:37:37
ValidateIssInAuthorizationResponse
No 'iss' value in authorization response.
2021-06-11 14:37:37 SUCCESS
ExtractAuthorizationCodeFromAuthorizationResponse
Found authorization code
code
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
2021-06-11 14:37:37 SUCCESS
EnsureMinimumAuthorizationCodeLength
Authorization code is of sufficient length
actual
344
required
128
2021-06-11 14:37:37 SUCCESS
EnsureMinimumAuthorizationCodeEntropy
Calculated shannon entropy seems sufficient
actual
205.81960944786323
expected
96.0
2021-06-11 14:37:37 SUCCESS
ExtractIdTokenFromAuthorizationResponse
Found and parsed the id_token from authorization_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "c_hash": "irXeGVGQMmq3zxGe7xhuvg",
  "aud": "pkjwt-two",
  "s_hash": "NsfewjmP3icW05ZEtoJSvw",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425856,
  "nonce": "GMqV3puNy1",
  "iat": 1623422256
}
2021-06-11 14:37:37 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-06-11 14:37:37 SUCCESS
EnsureIdTokenContainsKid
kid was found in the ID token header
kid
EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M
2021-06-11 14:37:37 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
GMqV3puNy1
2021-06-11 14:37:37 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q
2021-06-11 14:37:37 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q
2021-06-11 14:37:37 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
2021-06-11 14:37:37 SUCCESS
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
permitted
[
  "PS256",
  "ES256"
]
alg
PS256
2021-06-11 14:37:37 INFO
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:37 INFO
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:37 SUCCESS
ExtractSHash
Extracted s_hash from ID Token
s_hash
NsfewjmP3icW05ZEtoJSvw
alg
PS256
2021-06-11 14:37:37 SUCCESS
ValidateSHash
s_hash validated successfully
expected_hash
NsfewjmP3icW05ZEtoJSvw
unhashed_value
L7TiivxI9M
id_token_hash
NsfewjmP3icW05ZEtoJSvw
2021-06-11 14:37:37 SUCCESS
ExtractCHash
Extracted c_hash from ID Token
c_hash
irXeGVGQMmq3zxGe7xhuvg
alg
PS256
2021-06-11 14:37:37 SUCCESS
ValidateCHash
c_hash validated successfully
expected_hash
irXeGVGQMmq3zxGe7xhuvg
unhashed_value
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
id_token_hash
irXeGVGQMmq3zxGe7xhuvg
Second client: Call token endpoint
2021-06-11 14:37:37 SUCCESS
CreateTokenEndpointRequestForAuthorizationCodeGrant
grant_type
authorization_code
code
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
2021-06-11 14:37:37 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
pkjwt-two
sub
pkjwt-two
aud
https://mtls.fapi.panva.cz/token
jti
7IylcbjENLC76pDSb3ku
iat
1623422257
exp
1623422317
2021-06-11 14:37:37 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxNywiaWF0IjoxNjIzNDIyMjU3LCJqdGkiOiI3SXlsY2JqRU5MQzc2cERTYjNrdSJ9.M_3iy9JpqFgQ_Q8HyT9OfLo3i3QOm-61Ki90MHsGM10hwde1vyqqZU47cCmpmB7yAD2kVZKOB7HjGHoEPWst_j5UmMVtCd3vg6pCkwJsfgMSk4q_3mZ1NIi7iXqzA4wU4pX9iMlp76i3nDvdw3SxSR-9Tevk8OMJFQyRX1e1lfT4e7wVfZu7hMBH-o0GSePOr_pt2BpazC26qa75ycSlDRn-djsPFrhmxh-JYKLGYvFI4hO9-H6NENb0BTWHjRxxMKqFzzb8KeCaoaFI2ZB1cB_zczSV7J0ji7hG44UQB4s4u132N0Lu5RcM_kKG2fubzAakwe18uARs0LlbOpVciA
2021-06-11 14:37:37
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
authorization_code
code
IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6
redirect_uri
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum
client_assertion
eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxNywiaWF0IjoxNjIzNDIyMjU3LCJqdGkiOiI3SXlsY2JqRU5MQzc2cERTYjNrdSJ9.M_3iy9JpqFgQ_Q8HyT9OfLo3i3QOm-61Ki90MHsGM10hwde1vyqqZU47cCmpmB7yAD2kVZKOB7HjGHoEPWst_j5UmMVtCd3vg6pCkwJsfgMSk4q_3mZ1NIi7iXqzA4wU4pX9iMlp76i3nDvdw3SxSR-9Tevk8OMJFQyRX1e1lfT4e7wVfZu7hMBH-o0GSePOr_pt2BpazC26qa75ycSlDRn-djsPFrhmxh-JYKLGYvFI4hO9-H6NENb0BTWHjRxxMKqFzzb8KeCaoaFI2ZB1cB_zczSV7J0ji7hG44UQB4s4u132N0Lu5RcM_kKG2fubzAakwe18uARs0LlbOpVciA
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2021-06-11 14:37:37
CallTokenEndpoint
HTTP request
request_uri
https://mtls.fapi.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "988"
}
request_body
grant_type=authorization_code&code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&redirect_uri=https%3A%2F%2Fwww.certification.openid.net%2Ftest%2Fa%2Foidc-provider-by_value-private_key_jwt-plain_fapi-plain_response%2Fcallback%3Fdummy1%3Dlorem%26dummy2%3Dipsum&client_assertion=eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxNywiaWF0IjoxNjIzNDIyMjU3LCJqdGkiOiI3SXlsY2JqRU5MQzc2cERTYjNrdSJ9.M_3iy9JpqFgQ_Q8HyT9OfLo3i3QOm-61Ki90MHsGM10hwde1vyqqZU47cCmpmB7yAD2kVZKOB7HjGHoEPWst_j5UmMVtCd3vg6pCkwJsfgMSk4q_3mZ1NIi7iXqzA4wU4pX9iMlp76i3nDvdw3SxSR-9Tevk8OMJFQyRX1e1lfT4e7wVfZu7hMBH-o0GSePOr_pt2BpazC26qa75ycSlDRn-djsPFrhmxh-JYKLGYvFI4hO9-H6NENb0BTWHjRxxMKqFzzb8KeCaoaFI2ZB1cB_zczSV7J0ji7hG44UQB4s4u132N0Lu5RcM_kKG2fubzAakwe18uARs0LlbOpVciA&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDO8JBSH914NDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wHhcNMTkwNjE4MTIzMjAxWhcNMjAwNjE3MTIzMjAxWjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBALsB6MGWke5vS1TB3Z+NJkC29bEIb3XGC9WaxRovH0jqaaua2AfAF7VZzUyWS/+r6hvWOtqUVy7YF1ThnEJXuXJG9ra2B2+F5RYNCtrVj6Bi+zDTSJ4IvQfrF0XBKwwOdRu7VJpAxvweA/3woKl6Cjfy20ZupPH9mxr1R78BMKgEtdFsiLwbB7MOdDbTLsrUcEcupXv+gZek22upQKrAk/XFP067KIqKmCEhDidxhP251SloUaruv9cHEx0aDKol9eR465FAiBLvg2N7qJHCKlWdn99SgN4Y3kINsuFR7Tj4QIJZNubOjV0YeOgnAWzRJlZD89KZAQgjj4Z215QeLxA\u003d",
  "key": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAECggEASlRt2SNQPJphs7n3NkDquC3frsD4IjmDepQmOY7F/T6qKOYMTwOnt8cUZUMal0q5mu1p2HC4DeK+yZ8tyzCstmzqTG8vwzhMNDZblt4cfP2CTrAbUUcD7q18FnxoYuCB9HTcmd82tgve+DIVstYlaqcL9PkCifcloblFB/GNbToEdiHqRNbHvVZLMYGYsShkiyFVL61h5zkFgQCBv+kR5u3AWGGGtlhZ3dvU7+i0P7n4dKseQyyd9v/QcW4iW8b3f6izn4plQNcPbb4o0iAdhpnjYxCOwxc8TGZvHul/RYnlFGuiKUXSV/r/t/dEppsKM4moJ8n6qzsoZf6czR5NwQKBgQD+y6nJs9sNEuIBa2JjEZIYhVXjVRO9XkusqN3aoKyU48X+Jg4/XDJMU6NRaMEdappo8Jgykrg0h2cNS4JDkrw3PwVohaR1SSwNclg7cVlH50HO6WTIrA1lAT7VXBPsxiUiKHr3nNph22chHDRw3qhhbluF4Nh0TXdLNwsrdcYyoQKBgQDiumS2EnCOT5uvEpW4MjFRVeLBsCt1tAufVRcF2XngyfgLme0zLnQGh8ZqrHHpZmgZQBM3APnDtJ/UqzEIwg5suvrE1U2lScjvrpVpXr1ZiIV0Hc3wEGLcvgmZvWEtcjJfZYhNMdjbDlQo5jAPqkoJrkWV2oCubmyUkKma199DMwKBgAKZ16Dceib3A2GaVAXI3yHq8oaAjtQHC2S20JTzwO9AJ/xBLTIOYeEPlYI2PIptVSgvFI6nmsPGghHLrIe+DrfNp+N6QcSEu7NjcG0i6hNm0/Alx8aYowZd7eNFrlpjZ2ui2CaA7mXDVJks7YgdbcCY3MxQEEWXqNkWtcF60UwhAoGBAI6RWmbK7Y/vKxxJeW/bz/svIGle19Upo+1K2jFJcUQSfDD/V5JJcZfxpKjLSs3TIT5PdkWuDWAsohxekXTKYbupT6qZ3jtDTGC6zST29+Xm3NQJMcf05dWcgfj0hrjHCDnIZI71+0Czn+Qf6rTPBcNUnFkAjs4gjZJV7PB7Md7VAoGAZ/CBJI5NGWkGZjkLM4fqq8U2hFM9Y5IHsn9Y8vvst3+mCqcFhTS7TcYUY00qdiFXAJjiwhfGFOoc0q+AWluiUxB+b6FWRu73XhqkKxgBehE9i3QCrcitMufSkXKydLonfh7/PeUpB63LmMjtyLdMlGAIorVbtD1xAn2WaYuEb5Q\u003d"
}
2021-06-11 14:37:37 INFO
WebRunner
Completed processing of webpage
task
Verify Complete
browser
complete
response_status_text
200-
match
https://*/test/a/*/callback*
url
https://www.certification.openid.net/test/a/oidc-provider-by_value-private_key_jwt-plain_fapi-plain_response/callback?dummy1=lorem&dummy2=ipsum#code=IYFBMc_Kkc1Gy7FoQ-5h7XQYTr0PMnmkrKUu7xzT1k6&id_token=eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiY19oYXNoIjoiaXJYZUdWR1FNbXEzenhHZTd4aHV2ZyIsInNfaGFzaCI6Ik5zZmV3am1QM2ljVzA1WkV0b0pTdnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTYsImlhdCI6MTYyMzQyMjI1NiwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.LMtU62VEkwTv2-Z5fWazVuJIEIzH8k_byetvO4lc7VjFjAIiXNINkfRzdb9NlbnEQ8PP5szAsH0VIhYhbxV1HDYi6d_gdBEg846wwyb7pG3KIOuevH2gx_iakH72noNlt1Mbmw_RcliHLp520VoVJP7GqsaI_M8AsHif1L030iKKyg0HSqqaK3JsJnvEBk0QX0X6D1LPktyGRhQ_gFVvaN4zOdsjklKpzjCKfHNYy1dz_6muXegfx9X5xPI5qPtEhvIJEGIKg0166bQ0zLK158PixL_4u4aCftFm8R6C8bjQKdx_AmbHhH-e_PdYanafuAMnXF1-Ua6_2EMC5xcl-Q&state=L7TiivxI9M
response_status_code
200
2021-06-11 14:37:38 RESPONSE
CallTokenEndpoint
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "911",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:38 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"access_token":"nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw","refresh_token":"nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:38
CallTokenEndpoint
Token endpoint response
token_endpoint_response
{"access_token":"nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw","refresh_token":"nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:38 SUCCESS
CallTokenEndpoint
Parsed token endpoint response
access_token
nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5
expires_in
3600
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
scope
openid offline_access
token_type
Bearer
Second client: Verify token endpoint response
2021-06-11 14:37:38 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-06-11 14:37:38 SUCCESS
CheckForAccessTokenValue
Found an access token
access_token
nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5
2021-06-11 14:37:38 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5
type
Bearer
2021-06-11 14:37:38 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2021-06-11 14:37:38 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2021-06-11 14:37:38 SUCCESS
CheckForRefreshTokenValue
Found a refresh token
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
2021-06-11 14:37:38 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-06-11 14:37:38 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
202.3098344435363
expected
96.0
2021-06-11 14:37:38 SUCCESS
EnsureMinimumAccessTokenLength
Access token is of sufficient length
actual
344
required
128
2021-06-11 14:37:38 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
209.81960944786323
expected
96.0
2021-06-11 14:37:38 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "at_hash": "APooWRC4kZdBthEhjk4tRw",
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "aud": "pkjwt-two",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425858,
  "nonce": "GMqV3puNy1",
  "iat": 1623422258
}
2021-06-11 14:37:38 SUCCESS
ValidateIdToken
ID token iss, aud, exp, iat, auth_time, acr & nbf claims passed validation checks
2021-06-11 14:37:38 SUCCESS
EnsureIdTokenContainsKid
kid was found in the ID token header
kid
EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M
2021-06-11 14:37:38 SUCCESS
ValidateIdTokenNonce
Nonce values match
nonce
GMqV3puNy1
2021-06-11 14:37:38 SUCCESS
ValidateIdTokenACRClaimAgainstRequest
acr value in id_token is (one of) the requested values
actual
urn:mace:incommon:iap:silver
requested
[
  "urn:mace:incommon:iap:silver"
]
2021-06-11 14:37:38 SUCCESS
ValidateIdTokenSignature
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw
2021-06-11 14:37:38 SUCCESS
ValidateIdTokenSignatureUsingKid
id_token signature validated
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6IkFQb29XUkM0a1pkQnRoRWhqazR0UnciLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTgsImlhdCI6MTYyMzQyMjI1OCwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.ZJQUb6V55UYVMoKVP7gtX3Ye6KuRI7z1AmYgkJ87e7GWsgjWtrhwxNUDO1TjvHc7X6vH9LW2BZK_5PXqMTbWNyR8fdHKbLE4FiDqWXmcMxiWi6zu3HiZO1FM0DQ7zcPiLfuNVZV83xDp-ic1RO6BzFwd9IKTyTtqBtqMKfrYhzuy2xjmSqFFhtmMjvhKa8tSTbV0OQ2dbC1WFUBgPIpO1Q1y-lGv43zKqnEhYdXpBKdSOvQpSAcqGdwk6LVaTEUVyQimqjb_GsRTfeyLPgA9T4Evuw_o1fskXOOXLzqtSjXUZDJMGk-g2pE0sg_eqyonGMMfqmSWnQGtVpcMWET-Vw
2021-06-11 14:37:38 SUCCESS
CheckForSubjectInIdToken
Found 'sub' in id_token
sub
foo
2021-06-11 14:37:38 SUCCESS
FAPIValidateIdTokenSigningAlg
id_token was signed with a permitted algorithm
permitted
[
  "PS256",
  "ES256"
]
alg
PS256
2021-06-11 14:37:38 INFO
FAPIValidateIdTokenEncryptionAlg
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:38 INFO
FAPIValidateEncryptedIdTokenHasKid
Skipped evaluation due to missing required element: id_token jwe_header
path
jwe_header
mapped
object
id_token
2021-06-11 14:37:38 INFO
ExtractCHash
Couldn't find c_hash in ID token
2021-06-11 14:37:38 INFO
ExtractSHash
Couldn't find s_hash in ID token
2021-06-11 14:37:38 SUCCESS
ExtractAtHash
Extracted at_hash from ID Token
at_hash
APooWRC4kZdBthEhjk4tRw
alg
PS256
2021-06-11 14:37:38 INFO
ValidateCHash
Skipped evaluation due to missing required object: c_hash
expected
c_hash
mapped
2021-06-11 14:37:38 INFO
ValidateSHash
Skipped evaluation due to missing required object: s_hash
expected
s_hash
mapped
2021-06-11 14:37:38 SUCCESS
ValidateAtHash
at_hash validated successfully
expected_hash
APooWRC4kZdBthEhjk4tRw
unhashed_value
nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5
id_token_hash
APooWRC4kZdBthEhjk4tRw
Second client: Verify at_hash in the authorization endpoint id_token
2021-06-11 14:37:38 INFO
ExtractAtHash
Couldn't find at_hash in ID token
2021-06-11 14:37:38 INFO
ValidateAtHash
Skipped evaluation due to missing required object: at_hash
expected
at_hash
mapped
Second client: Check for refresh token
2021-06-11 14:37:38 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
2021-06-11 14:37:38 SUCCESS
EnsureServerConfigurationSupportsRefreshToken
The server configuration indicates support for refresh tokens
supported_grant_types
[
  "implicit",
  "authorization_code",
  "refresh_token",
  "urn:openid:params:grant-type:ciba"
]
2021-06-11 14:37:38 SUCCESS
EnsureRefreshTokenContainsAllowedCharactersOnly
Refresh token does not contain any illegal characters
Second client: Refresh Token Request
2021-06-11 14:37:38 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
2021-06-11 14:37:38 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
pkjwt-two
sub
pkjwt-two
aud
https://mtls.fapi.panva.cz/token
jti
a2ZIVyZxYcug3b43S5Qj
iat
1623422258
exp
1623422318
2021-06-11 14:37:38 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxOCwiaWF0IjoxNjIzNDIyMjU4LCJqdGkiOiJhMlpJVnlaeFljdWczYjQzUzVRaiJ9.kHYnKdI8XuOsWz63wBpkWqioxBLKWxKE0YKLbbuf24gRiYkXwtVNAYJ7v9sWUeZsZw0OPHGtY1MjvqPUdVGgMIcu2KlW7CEMKBHQFUS4nA53-PtO57H-obqyw5qMocYv1TGquIVr8XsAf9VGAh5t2UNUmEGKJerPZ2OKwSU1u3nhg38bFMwFHEzbgvmm-DAnn7vR72AnzxxSSv9MgbdvdOw5s2UV1gddrtnsmvo4Ikmcbxh32PDeNIrfqHUxfH8Dog7hozhWfgBXRrYNtFVEEuVf2uuakfUDfdV9b2CfbMJkArC_jR2UH7e-aLiDj2Cdxa8qGdwPBTyXgbtsb_ci5Q
2021-06-11 14:37:38
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
refresh_token
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
client_assertion
eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxOCwiaWF0IjoxNjIzNDIyMjU4LCJqdGkiOiJhMlpJVnlaeFljdWczYjQzUzVRaiJ9.kHYnKdI8XuOsWz63wBpkWqioxBLKWxKE0YKLbbuf24gRiYkXwtVNAYJ7v9sWUeZsZw0OPHGtY1MjvqPUdVGgMIcu2KlW7CEMKBHQFUS4nA53-PtO57H-obqyw5qMocYv1TGquIVr8XsAf9VGAh5t2UNUmEGKJerPZ2OKwSU1u3nhg38bFMwFHEzbgvmm-DAnn7vR72AnzxxSSv9MgbdvdOw5s2UV1gddrtnsmvo4Ikmcbxh32PDeNIrfqHUxfH8Dog7hozhWfgBXRrYNtFVEEuVf2uuakfUDfdV9b2CfbMJkArC_jR2UH7e-aLiDj2Cdxa8qGdwPBTyXgbtsb_ci5Q
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2021-06-11 14:37:38 SUCCESS
WaitForOneSecond
Pausing for 1 seconds
2021-06-11 14:37:39 SUCCESS
WaitForOneSecond
Woke up after 1 seconds sleep
2021-06-11 14:37:39
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://mtls.fapi.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "813"
}
request_body
grant_type=refresh_token&refresh_token=nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI&client_assertion=eyJraWQiOiJOcml5R0lUcXB0NlFkUkJYejZrX3FqdXA2dk9fODFOYW1xMDVDWDRoaWowIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC10d28iLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LXR3byIsImV4cCI6MTYyMzQyMjMxOCwiaWF0IjoxNjIzNDIyMjU4LCJqdGkiOiJhMlpJVnlaeFljdWczYjQzUzVRaiJ9.kHYnKdI8XuOsWz63wBpkWqioxBLKWxKE0YKLbbuf24gRiYkXwtVNAYJ7v9sWUeZsZw0OPHGtY1MjvqPUdVGgMIcu2KlW7CEMKBHQFUS4nA53-PtO57H-obqyw5qMocYv1TGquIVr8XsAf9VGAh5t2UNUmEGKJerPZ2OKwSU1u3nhg38bFMwFHEzbgvmm-DAnn7vR72AnzxxSSv9MgbdvdOw5s2UV1gddrtnsmvo4Ikmcbxh32PDeNIrfqHUxfH8Dog7hozhWfgBXRrYNtFVEEuVf2uuakfUDfdV9b2CfbMJkArC_jR2UH7e-aLiDj2Cdxa8qGdwPBTyXgbtsb_ci5Q&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDO8JBSH914NDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wHhcNMTkwNjE4MTIzMjAxWhcNMjAwNjE3MTIzMjAxWjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBALsB6MGWke5vS1TB3Z+NJkC29bEIb3XGC9WaxRovH0jqaaua2AfAF7VZzUyWS/+r6hvWOtqUVy7YF1ThnEJXuXJG9ra2B2+F5RYNCtrVj6Bi+zDTSJ4IvQfrF0XBKwwOdRu7VJpAxvweA/3woKl6Cjfy20ZupPH9mxr1R78BMKgEtdFsiLwbB7MOdDbTLsrUcEcupXv+gZek22upQKrAk/XFP067KIqKmCEhDidxhP251SloUaruv9cHEx0aDKol9eR465FAiBLvg2N7qJHCKlWdn99SgN4Y3kINsuFR7Tj4QIJZNubOjV0YeOgnAWzRJlZD89KZAQgjj4Z215QeLxA\u003d",
  "key": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAECggEASlRt2SNQPJphs7n3NkDquC3frsD4IjmDepQmOY7F/T6qKOYMTwOnt8cUZUMal0q5mu1p2HC4DeK+yZ8tyzCstmzqTG8vwzhMNDZblt4cfP2CTrAbUUcD7q18FnxoYuCB9HTcmd82tgve+DIVstYlaqcL9PkCifcloblFB/GNbToEdiHqRNbHvVZLMYGYsShkiyFVL61h5zkFgQCBv+kR5u3AWGGGtlhZ3dvU7+i0P7n4dKseQyyd9v/QcW4iW8b3f6izn4plQNcPbb4o0iAdhpnjYxCOwxc8TGZvHul/RYnlFGuiKUXSV/r/t/dEppsKM4moJ8n6qzsoZf6czR5NwQKBgQD+y6nJs9sNEuIBa2JjEZIYhVXjVRO9XkusqN3aoKyU48X+Jg4/XDJMU6NRaMEdappo8Jgykrg0h2cNS4JDkrw3PwVohaR1SSwNclg7cVlH50HO6WTIrA1lAT7VXBPsxiUiKHr3nNph22chHDRw3qhhbluF4Nh0TXdLNwsrdcYyoQKBgQDiumS2EnCOT5uvEpW4MjFRVeLBsCt1tAufVRcF2XngyfgLme0zLnQGh8ZqrHHpZmgZQBM3APnDtJ/UqzEIwg5suvrE1U2lScjvrpVpXr1ZiIV0Hc3wEGLcvgmZvWEtcjJfZYhNMdjbDlQo5jAPqkoJrkWV2oCubmyUkKma199DMwKBgAKZ16Dceib3A2GaVAXI3yHq8oaAjtQHC2S20JTzwO9AJ/xBLTIOYeEPlYI2PIptVSgvFI6nmsPGghHLrIe+DrfNp+N6QcSEu7NjcG0i6hNm0/Alx8aYowZd7eNFrlpjZ2ui2CaA7mXDVJks7YgdbcCY3MxQEEWXqNkWtcF60UwhAoGBAI6RWmbK7Y/vKxxJeW/bz/svIGle19Upo+1K2jFJcUQSfDD/V5JJcZfxpKjLSs3TIT5PdkWuDWAsohxekXTKYbupT6qZ3jtDTGC6zST29+Xm3NQJMcf05dWcgfj0hrjHCDnIZI71+0Czn+Qf6rTPBcNUnFkAjs4gjZJV7PB7Md7VAoGAZ/CBJI5NGWkGZjkLM4fqq8U2hFM9Y5IHsn9Y8vvst3+mCqcFhTS7TcYUY00qdiFXAJjiwhfGFOoc0q+AWluiUxB+b6FWRu73XhqkKxgBehE9i3QCrcitMufSkXKydLonfh7/PeUpB63LmMjtyLdMlGAIorVbtD1xAn2WaYuEb5Q\u003d"
}
2021-06-11 14:37:39 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "911",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:39 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"access_token":"ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4","expires_in":3600,"id_token":"eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6Ikd6R0xlY2NkX2JiYjRHNDZNVlJudEEiLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTksImlhdCI6MTYyMzQyMjI1OSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.T3WRZOhFLz8aAw_h8nzotxf3xbj8PtCRqfkWpyhPo1FOgYthEQhXwTQGurtZeBPiayPfYo4arlPFPbIL1B3jetUBbfQHcR9cdhOOzqdBI0BKeTlxPaUVFZsXp3d1aAoIiFb5SmDz9xXRc4A6NHukV4ocnsi2fgDyidBDx56G-9T4ZPJPKXV9nJF9DQSrp1IPcUu1pNSaH08Njf0Nx6KxO2TTj8ZxTNEMIk_lT2pmAkCUWabTzKim-m8lUe0LzzE_6qFWHWcFgtLGQ3dYF7kJxWDhWUGMQgV7AsDiuYbsWkfqjpzREJ-k4N0meLgzJpSeQRRNxJf7LKPWpgJYFCAneA","refresh_token":"nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI","scope":"openid offline_access","token_type":"Bearer"}
2021-06-11 14:37:39 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
access_token
ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4
expires_in
3600
id_token
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6Ikd6R0xlY2NkX2JiYjRHNDZNVlJudEEiLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTksImlhdCI6MTYyMzQyMjI1OSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.T3WRZOhFLz8aAw_h8nzotxf3xbj8PtCRqfkWpyhPo1FOgYthEQhXwTQGurtZeBPiayPfYo4arlPFPbIL1B3jetUBbfQHcR9cdhOOzqdBI0BKeTlxPaUVFZsXp3d1aAoIiFb5SmDz9xXRc4A6NHukV4ocnsi2fgDyidBDx56G-9T4ZPJPKXV9nJF9DQSrp1IPcUu1pNSaH08Njf0Nx6KxO2TTj8ZxTNEMIk_lT2pmAkCUWabTzKim-m8lUe0LzzE_6qFWHWcFgtLGQ3dYF7kJxWDhWUGMQgV7AsDiuYbsWkfqjpzREJ-k4N0meLgzJpSeQRRNxJf7LKPWpgJYFCAneA
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
scope
openid offline_access
token_type
Bearer
2021-06-11 14:37:39 SUCCESS
CheckTokenEndpointHttpStatus200
Token endpoint http status code was 200
2021-06-11 14:37:39 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-06-11 14:37:40 SUCCESS
CheckTokenEndpointCacheHeaders
'pragma' and 'cache-control' headers in token endpoint response contain expected values.
cache_control_header
no-cache, no-store
pragma_header
no-cache
2021-06-11 14:37:40 SUCCESS
CheckIfTokenEndpointResponseError
No error from token endpoint
2021-06-11 14:37:40 SUCCESS
ExtractAccessTokenFromTokenResponse
Extracted the access token
value
ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4
type
Bearer
2021-06-11 14:37:40 SUCCESS
CheckTokenTypeIsBearer
Token type is bearer
2021-06-11 14:37:40 SUCCESS
EnsureMinimumAccessTokenEntropy
Calculated shannon entropy seems sufficient
actual
206.57449695002668
expected
96.0
2021-06-11 14:37:40 SUCCESS
EnsureAccessTokenContainsAllowedCharactersOnly
Access token does not contain any illegal characters
2021-06-11 14:37:40 SUCCESS
ExtractExpiresInFromTokenEndpointResponse
Extracted 'expires_in'
expires_in
3600
2021-06-11 14:37:40 SUCCESS
ValidateExpiresIn
expires_in passed all validation checks
expires_in
3600
2021-06-11 14:37:40 SUCCESS
EnsureAccessTokenValuesAreDifferent
Access token values are not the same
first_access_token
nVOtARhXBEFWSgRIe9F8zqgR4I3G2cVOLABYhdHukI5
second_access_token
ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4
2021-06-11 14:37:40 SUCCESS
ExtractIdTokenFromTokenResponse
Found and parsed the id_token from token_endpoint_response
value
eyJhbGciOiJQUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6IkVVc01MRndYejV6TWhrSm9vMWxjbklNMnBBcExjM2tjXzJXVjhZS1lDM00ifQ.eyJzdWIiOiJmb28iLCJhY3IiOiJ1cm46bWFjZTppbmNvbW1vbjppYXA6c2lsdmVyIiwibm9uY2UiOiJHTXFWM3B1TnkxIiwiYXRfaGFzaCI6Ikd6R0xlY2NkX2JiYjRHNDZNVlJudEEiLCJhdWQiOiJwa2p3dC10d28iLCJleHAiOjE2MjM0MjU4NTksImlhdCI6MTYyMzQyMjI1OSwiaXNzIjoiaHR0cHM6Ly9mYXBpLnBhbnZhLmN6In0.T3WRZOhFLz8aAw_h8nzotxf3xbj8PtCRqfkWpyhPo1FOgYthEQhXwTQGurtZeBPiayPfYo4arlPFPbIL1B3jetUBbfQHcR9cdhOOzqdBI0BKeTlxPaUVFZsXp3d1aAoIiFb5SmDz9xXRc4A6NHukV4ocnsi2fgDyidBDx56G-9T4ZPJPKXV9nJF9DQSrp1IPcUu1pNSaH08Njf0Nx6KxO2TTj8ZxTNEMIk_lT2pmAkCUWabTzKim-m8lUe0LzzE_6qFWHWcFgtLGQ3dYF7kJxWDhWUGMQgV7AsDiuYbsWkfqjpzREJ-k4N0meLgzJpSeQRRNxJf7LKPWpgJYFCAneA
header
{
  "kid": "EUsMLFwXz5zMhkJoo1lcnIM2pApLc3kc_2WV8YKYC3M",
  "typ": "JWT",
  "alg": "PS256"
}
claims
{
  "at_hash": "GzGLeccd_bbb4G46MVRntA",
  "sub": "foo",
  "acr": "urn:mace:incommon:iap:silver",
  "aud": "pkjwt-two",
  "iss": "https://fapi.panva.cz",
  "exp": 1623425859,
  "nonce": "GMqV3puNy1",
  "iat": 1623422259
}
2021-06-11 14:37:40 SUCCESS
ExtractRefreshTokenFromTokenResponse
Extracted refresh token from response
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
2021-06-11 14:37:40 SUCCESS
EnsureMinimumRefreshTokenLength
Refresh token is of sufficient length
actual
344
required
128
2021-06-11 14:37:40 SUCCESS
EnsureMinimumRefreshTokenEntropy
Calculated shannon entropy seems sufficient
actual
202.3098344435363
expected
96.0
2021-06-11 14:37:40 SUCCESS
CompareIdTokenClaims
Validated id token claims successfully
iss
{
  "first": "https://fapi.panva.cz",
  "second": "https://fapi.panva.cz",
  "note": "Values are expected to be equal"
}
sub
{
  "first": "foo",
  "second": "foo",
  "note": "Values are expected to be equal"
}
iat
{
  "first": 1623422258,
  "second": 1623422259,
  "note": "Values are expected to be different"
}
aud
{
  "first": "pkjwt-two",
  "second": "pkjwt-two",
  "note": "Values are expected to be equal"
}
azp
Id tokens do not contain azp claims
Second client: Resource server endpoint tests
2021-06-11 14:37:40
CreateEmptyResourceEndpointRequestHeaders
Created empty headers
resource_endpoint_request_headers
{}
2021-06-11 14:37:40
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP request
request_uri
https://mtls.fapi.panva.cz/accounts
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDO8JBSH914NDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wHhcNMTkwNjE4MTIzMjAxWhcNMjAwNjE3MTIzMjAxWjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHN0d28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAEwDQYJKoZIhvcNAQELBQADggEBALsB6MGWke5vS1TB3Z+NJkC29bEIb3XGC9WaxRovH0jqaaua2AfAF7VZzUyWS/+r6hvWOtqUVy7YF1ThnEJXuXJG9ra2B2+F5RYNCtrVj6Bi+zDTSJ4IvQfrF0XBKwwOdRu7VJpAxvweA/3woKl6Cjfy20ZupPH9mxr1R78BMKgEtdFsiLwbB7MOdDbTLsrUcEcupXv+gZek22upQKrAk/XFP067KIqKmCEhDidxhP251SloUaruv9cHEx0aDKol9eR465FAiBLvg2N7qJHCKlWdn99SgN4Y3kINsuFR7Tj4QIJZNubOjV0YeOgnAWzRJlZD89KZAQgjj4Z215QeLxA\u003d",
  "key": "MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDhqVAaMsvnCETzDtKwfKxZC1jwIOhIyUp8xp+2oN+pJwtqP0UpkLlTV7MD94HZSL3n3f9hsG6appRQGGAJ2ThOw1N9zlAr7Sk9YH6Gtu3bYSDvS6waKjVoxGrrmLfyuoEbv3PDqMWuOjE3MT/G1nwUBgIEKYAr8hizY8dUE0Z2qWvKFZJj6etjCXEppjXuwlSusHWw/tj/ePMMxMAJMPPhzJeh6AL7iUKBisJysPuaWrS9ntdPxv9PS40sv6cZT4woxmE6tpTCkAxabXqA25SgJOyKOjnvg+BPNlrucLqHw3ErWrxYTL99cHqhexO6K4FaspW3+1kuWd3fY4Cm+zkTAgMBAAECggEASlRt2SNQPJphs7n3NkDquC3frsD4IjmDepQmOY7F/T6qKOYMTwOnt8cUZUMal0q5mu1p2HC4DeK+yZ8tyzCstmzqTG8vwzhMNDZblt4cfP2CTrAbUUcD7q18FnxoYuCB9HTcmd82tgve+DIVstYlaqcL9PkCifcloblFB/GNbToEdiHqRNbHvVZLMYGYsShkiyFVL61h5zkFgQCBv+kR5u3AWGGGtlhZ3dvU7+i0P7n4dKseQyyd9v/QcW4iW8b3f6izn4plQNcPbb4o0iAdhpnjYxCOwxc8TGZvHul/RYnlFGuiKUXSV/r/t/dEppsKM4moJ8n6qzsoZf6czR5NwQKBgQD+y6nJs9sNEuIBa2JjEZIYhVXjVRO9XkusqN3aoKyU48X+Jg4/XDJMU6NRaMEdappo8Jgykrg0h2cNS4JDkrw3PwVohaR1SSwNclg7cVlH50HO6WTIrA1lAT7VXBPsxiUiKHr3nNph22chHDRw3qhhbluF4Nh0TXdLNwsrdcYyoQKBgQDiumS2EnCOT5uvEpW4MjFRVeLBsCt1tAufVRcF2XngyfgLme0zLnQGh8ZqrHHpZmgZQBM3APnDtJ/UqzEIwg5suvrE1U2lScjvrpVpXr1ZiIV0Hc3wEGLcvgmZvWEtcjJfZYhNMdjbDlQo5jAPqkoJrkWV2oCubmyUkKma199DMwKBgAKZ16Dceib3A2GaVAXI3yHq8oaAjtQHC2S20JTzwO9AJ/xBLTIOYeEPlYI2PIptVSgvFI6nmsPGghHLrIe+DrfNp+N6QcSEu7NjcG0i6hNm0/Alx8aYowZd7eNFrlpjZ2ui2CaA7mXDVJks7YgdbcCY3MxQEEWXqNkWtcF60UwhAoGBAI6RWmbK7Y/vKxxJeW/bz/svIGle19Upo+1K2jFJcUQSfDD/V5JJcZfxpKjLSs3TIT5PdkWuDWAsohxekXTKYbupT6qZ3jtDTGC6zST29+Xm3NQJMcf05dWcgfj0hrjHCDnIZI71+0Czn+Qf6rTPBcNUnFkAjs4gjZJV7PB7Md7VAoGAZ/CBJI5NGWkGZjkLM4fqq8U2hFM9Y5IHsn9Y8vvst3+mCqcFhTS7TcYUY00qdiFXAJjiwhfGFOoc0q+AWluiUxB+b6FWRu73XhqkKxgBehE9i3QCrcitMufSkXKydLonfh7/PeUpB63LmMjtyLdMlGAIorVbtD1xAn2WaYuEb5Q\u003d"
}
2021-06-11 14:37:40 RESPONSE
CallProtectedResourceWithBearerTokenAndCustomHeaders
HTTP response
response_status_code
200 OK
response_status_text
OK
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:40 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-fapi-interaction-id": "8a2c90b7-153e-476f-b2d7-187aa736c625",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"sub":"foo"}
2021-06-11 14:37:40 SUCCESS
CallProtectedResourceWithBearerTokenAndCustomHeaders
Got a response from the resource endpoint
headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "13",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:40 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-fapi-interaction-id": "8a2c90b7-153e-476f-b2d7-187aa736c625",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
status_code
{
  "code": 200
}
body
{"sub":"foo"}
2021-06-11 14:37:40 SUCCESS
CheckForDateHeaderInResourceResponse
Date header present and validated
date
Fri, 11 Jun 2021 14:37:40 GMT
skew
841
2021-06-11 14:37:40 SUCCESS
CheckForFAPIInteractionIdInResourceResponse
Found x-fapi-interaction-id
interaction_id
8a2c90b7-153e-476f-b2d7-187aa736c625
2021-06-11 14:37:40 SUCCESS
EnsureResourceResponseReturnedJsonContentType
Response content type is JSON
content_type
application/json; charset=utf-8
Try Client1's MTLS client certificate with Client2's access token
2021-06-11 14:37:40
CallProtectedResourceWithBearerTokenExpectingError
HTTP request
request_uri
https://mtls.fapi.panva.cz/accounts
request_method
GET
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "authorization": "Bearer ooETNT9XOZW2GWfquGYfJAprUvrjYN3t1s7XureReA4",
  "accept-charset": "utf-8",
  "content-length": "0"
}
request_body

                                
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc\u003d",
  "key": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw"
}
2021-06-11 14:37:41 RESPONSE
CallProtectedResourceWithBearerTokenExpectingError
HTTP response
response_status_code
401 UNAUTHORIZED
response_status_text
Unauthorized
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "70",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:41 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "www-authenticate": "Bearer realm\u003d\"https://fapi.panva.cz\", error\u003d\"invalid_token\", error_description\u003d\"invalid token provided\"",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-fapi-interaction-id": "46c45514-da90-4e7d-91ae-663731e86168",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"error":"invalid_token","error_description":"invalid token provided"}
2021-06-11 14:37:41 SUCCESS
CallProtectedResourceWithBearerTokenExpectingError
Resource endpoint returned error
code
401
body
{"error":"invalid_token","error_description":"invalid token provided"}
status
Unauthorized
Attempting to use refresh_token issued to client 2 with client 1
2021-06-11 14:37:41 SUCCESS
CreateRefreshTokenRequest
Created token endpoint request parameters
grant_type
refresh_token
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
2021-06-11 14:37:41 SUCCESS
CreateClientAuthenticationAssertionClaims
Created client assertion claims
iss
pkjwt-one
sub
pkjwt-one
aud
https://mtls.fapi.panva.cz/token
jti
qZtb0uT7hg1SmB8sMYS6
iat
1623422261
exp
1623422321
2021-06-11 14:37:41 SUCCESS
SignClientAuthenticationAssertion
Signed the client assertion
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMyMSwiaWF0IjoxNjIzNDIyMjYxLCJqdGkiOiJxWnRiMHVUN2hnMVNtQjhzTVlTNiJ9.eYoJl1oz8DRNbqk_BEb2HIXXFAah0fRca5jbmLVO12uYwaXKm6CqzHQi2Wf9vbtUGsyq1eXf-NGYGUkiXnF-q9jWlprfoxxg-sJQqIWOfUmbapGD-nNmP05IdK1V943JYFBEHyODgBBrZvvpBnFGZzvM83Bm5GSQsRbn9mtTMKpuBUDgO3utFws8a68O1y245p_RMRA0FTUpVybo3Et7omiGOHyPiXJnZ1BFhJZHLVFcD6U5p0lktYo-0LyRILpxM-_LtuSFGzywqisjmT4cItwsGMjUEFl3aZj8LYol3Yvxzl17vqDrLRbOw3-lzOtWz15tlcQ7kjJuZvN9RHVjng
2021-06-11 14:37:41
AddClientAssertionToTokenEndpointRequest
Added client assertion
grant_type
refresh_token
refresh_token
nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI
client_assertion
eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMyMSwiaWF0IjoxNjIzNDIyMjYxLCJqdGkiOiJxWnRiMHVUN2hnMVNtQjhzTVlTNiJ9.eYoJl1oz8DRNbqk_BEb2HIXXFAah0fRca5jbmLVO12uYwaXKm6CqzHQi2Wf9vbtUGsyq1eXf-NGYGUkiXnF-q9jWlprfoxxg-sJQqIWOfUmbapGD-nNmP05IdK1V943JYFBEHyODgBBrZvvpBnFGZzvM83Bm5GSQsRbn9mtTMKpuBUDgO3utFws8a68O1y245p_RMRA0FTUpVybo3Et7omiGOHyPiXJnZ1BFhJZHLVFcD6U5p0lktYo-0LyRILpxM-_LtuSFGzywqisjmT4cItwsGMjUEFl3aZj8LYol3Yvxzl17vqDrLRbOw3-lzOtWz15tlcQ7kjJuZvN9RHVjng
client_assertion_type
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
2021-06-11 14:37:41
CallTokenEndpointAndReturnFullResponse
HTTP request
request_uri
https://mtls.fapi.panva.cz/token
request_method
POST
request_headers
{
  "accept": "application/json;charset\u003dUTF-8",
  "accept-charset": "utf-8",
  "content-type": "application/x-www-form-urlencoded;charset\u003dUTF-8",
  "content-length": "813"
}
request_body
grant_type=refresh_token&refresh_token=nEW2-wToxilt_xEaljmyDfzb2ZgjnDvxBJbgEQlbeyI&client_assertion=eyJraWQiOiJFVXNNTEZ3WHo1ek1oa0pvbzFsY25JTTJwQXBMYzNrY18yV1Y4WUtZQzNNIiwiYWxnIjoiUFMyNTYifQ.eyJzdWIiOiJwa2p3dC1vbmUiLCJhdWQiOiJodHRwczpcL1wvbXRscy5mYXBpLnBhbnZhLmN6XC90b2tlbiIsImlzcyI6InBrand0LW9uZSIsImV4cCI6MTYyMzQyMjMyMSwiaWF0IjoxNjIzNDIyMjYxLCJqdGkiOiJxWnRiMHVUN2hnMVNtQjhzTVlTNiJ9.eYoJl1oz8DRNbqk_BEb2HIXXFAah0fRca5jbmLVO12uYwaXKm6CqzHQi2Wf9vbtUGsyq1eXf-NGYGUkiXnF-q9jWlprfoxxg-sJQqIWOfUmbapGD-nNmP05IdK1V943JYFBEHyODgBBrZvvpBnFGZzvM83Bm5GSQsRbn9mtTMKpuBUDgO3utFws8a68O1y245p_RMRA0FTUpVybo3Et7omiGOHyPiXJnZ1BFhJZHLVFcD6U5p0lktYo-0LyRILpxM-_LtuSFGzywqisjmT4cItwsGMjUEFl3aZj8LYol3Yvxzl17vqDrLRbOw3-lzOtWz15tlcQ7kjJuZvN9RHVjng&client_assertion_type=urn%3Aietf%3Aparams%3Aoauth%3Aclient-assertion-type%3Ajwt-bearer
request_mutual_tls
{
  "cert": "MIIC4DCCAcgCCQDuBF1vmG5mlDANBgkqhkiG9w0BAQsFADAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwHhcNMTkwNjE4MTIzMTA2WhcNMjAwNjE3MTIzMTA2WjAyMQswCQYDVQQGEwJDWjEPMA0GA1UEBwwGUHJhZ3VlMRIwEAYDVQQDDAlwa210bHNvbmUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAEwDQYJKoZIhvcNAQELBQADggEBAFGKYDieCWZ63Fx9jMhtlPlHUgkR6bmKqGwvZuVAe9Zz+sHvbVtTk/4AEOjSozksxf070O1PnK3zY0SuZynhKJnTaFouN45iMnnNQS6XMKd9Tm5WpSRbxfaOeuIZybvOmNy0nuxkvqcE5fXIyr9bDCO9WEArQIQqjGJ93zKJpV2nT9Q7heTK430z7Hp3+XxwGXoKsLW/jebr3ryWTMEv8ouEbXeCz2OH6Oup8UIwXDyjYxwhwS5FAcRQdh4KnhHOLGYVAuVR3wPewtrTioYznFdfwtDHGd9fZVxrXPlVqCksj0CTnPf7UgXtjm2hTfkwHHtW2BegWR/q3+q9gs7uehc\u003d",
  "key": "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDEEnW885Hp+2Q7l+KCtKPOwfPIVOLKshgygWIAXC8z5TKnA1N9qbB2BvpDpWUKdXrYuBzWcNH/PHwrJvX42AHGeXCZJDSXzuRH934/fjMQHTFJquoP4rziUlRJfT+pwJcuvgxgGLI5xgzNqD7gZZp/9LVm5OdXU1poQviUel+hwV5eiT1r1fOe5LOiXkLwp3kBLlqGrtRPFIIa+20qkvnFh5ZcnRmOmm2vcAnI7OaNc2rSLHVbvkFuY8mMEx8rtthq0dQyyy1Ucudi3cLCI2x8Px0qQFUqWH4LgNaj7VZjlU1NPE8LjsSPLasZsMsn0wt22fo+v5bJbaZ3N3QQqM0VAgMBAAECggEBAKrgF6Hrd9+9yhWxgaM9gIDhQO73I4tY+IOThHAh5rVIawNof6vFZdcGr7aiftNFnSEgG2m7exgAg4or8zPCNJHfJgUgq4Eduo8JnwoAlsnVVy4HeOMNTGXFMFW3hPMQt/DxieF5xGFbO69DkECJ68LV5f3dQcw2BVVWAEON/qf9UhgEnx79OdiCYzyoHjxaHoXk9cVTUtXwmU0lphRFT14W2Py0KZ5vA8JEefoZl/qEo42iR0KB4eDj/LiduWAMKDLN/u0Dmq3WxLvw7LHnlqENTEY56Lw1sbMQlmvl0zCD68BeMz+Mvlm7VRSCxR+3uX6Nli3eb2EsYziZIlt00iUCgYEA4ZNvp0u6vXQAf7IGESuhu3u4cD6K8iJ6BT+O64yHJzc17e9lt+p89GasTtkgeEH/lr+XxScVBYndi/8vaqsA47bkIoWVvcXq7C4jkv0bPelpaI/KPGfoZC1etR102+dS1ZufxzwSo64drw+HPuwaIkXvmpK4MBI9jEYoOHh9KR8CgYEA3oRU/iCWvKOGHlR9BmcBysVGmkvBwj8XLTJGfxJkm3M9utLSg0uNo7vW0Zm88KdzdeaRBt6ltZAG3hBL0mHNwC0hYRv5fzO7yczWFLPXbUNVqC5OLI+wTL7+ikx040lL9IRRtgub47+9IvxxaGaIRzsFwa+15D7TCE7K8BydH0sCgYEAivnkC2VL2tcyS3op5MBF95Vk77qIrl9xX/RloFfHGPEaB8q7l5EfhRAQzs9VAuJejsjhv7SxbeUfmtYQp55NgP44FdDJjc73SqWugyvvcbhxmdslFQxLkBSnydwpGCav0Sz9RqmLLk7iuO1PPQQHoeAGm+wTEILcaqT6uLf7HK8CgYBOlloWLphOI0q454oIetTNMoNO9zaFThb3ZWw0cOCLblX853xl1oc9rpeeCzgJnnpOx5Gs5XGNAEMMpqDAur4aA1Zon6KsZC8MhIWPZjzNYByee0wsvMq9MC9h1MLrivWCdEEPlGYIN62q75F2F9BFp/jOgSoyZGXP51QRHWn4pQKBgCEy7GsS3sAj3GiTmCkVvR3gKSlSKmJULmI+8EoT6tzYhMvyqoCHPtll2DHzBeqA6Il2DKz+gFbKln2+LrPUrb2rgK9e8qdZH9X36Ws8u9YA/VasGQRUFIAcFcNWoBBX79nBQ/89zrPubaN2Rh9BKuUEGLKAzDf1JIzseUr8jdvw"
}
2021-06-11 14:37:42 RESPONSE
CallTokenEndpointAndReturnFullResponse
HTTP response
response_status_code
400 BAD_REQUEST
response_status_text
Bad Request
response_headers
{
  "cache-control": "no-cache, no-store",
  "content-length": "72",
  "content-security-policy": "default-src \u0027self\u0027;base-uri \u0027self\u0027;block-all-mixed-content;font-src \u0027self\u0027 https: data:;frame-ancestors \u0027self\u0027;img-src \u0027self\u0027 data:;object-src \u0027none\u0027;script-src \u0027self\u0027;script-src-attr \u0027none\u0027;style-src \u0027self\u0027 https: \u0027unsafe-inline\u0027;upgrade-insecure-requests",
  "content-type": "application/json; charset\u003dutf-8",
  "date": "Fri, 11 Jun 2021 14:37:42 GMT",
  "expect-ct": "max-age\u003d0",
  "pragma": "no-cache",
  "referrer-policy": "no-referrer",
  "server": [
    "Caddy",
    "Cowboy"
  ],
  "strict-transport-security": "max-age\u003d15552000; includeSubDomains",
  "vary": "Origin",
  "via": "1.1 vegur",
  "x-content-type-options": "nosniff",
  "x-dns-prefetch-control": "off",
  "x-download-options": "noopen",
  "x-frame-options": "SAMEORIGIN",
  "x-permitted-cross-domain-policies": "none",
  "x-xss-protection": "0"
}
response_body
{"error":"invalid_grant","error_description":"grant request is invalid"}
2021-06-11 14:37:42 SUCCESS
CallTokenEndpointAndReturnFullResponse
Parsed token endpoint response
error
invalid_grant
error_description
grant request is invalid
2021-06-11 14:37:42 SUCCESS
ValidateErrorFromTokenEndpointResponseError
Token endpoint response error returned valid 'error' field
error
invalid_grant
2021-06-11 14:37:42 SUCCESS
CheckTokenEndpointHttpStatus400
Token endpoint http status code was 400
2021-06-11 14:37:42 SUCCESS
CheckTokenEndpointReturnedJsonContentType
token_endpoint_response_headers Content-Type: header is application/json
2021-06-11 14:37:42 SUCCESS
CheckErrorFromTokenEndpointResponseErrorInvalidGrant
Token Endpoint response error returned expected 'error' of 'invalid_grant'
error
invalid_grant
2021-06-11 14:37:42 FINISHED
fapi1-advanced-final-refresh-token
Test has run to completion
testmodule_result
PASSED
Test Results