Skip to main content

JWT-authentication

JWTs (Json Web Tokens)

Access token

Most of the Nexway API endpoints require a valid Json Web Token JWT for authentication and authorization:

  • Authentication verifies the signature of the Access JWT. Access to the requested API resource is granted if the token signature is valid and token is not expired.
  • Authorization checks the privileges within the scope attribute of the Access JWT.

For each non-public (secured) endpoint, after obtaining a valid access token, include the token in the Authorization header of the request as a Bearer token. The value of the Authorization will look like this: Bearer eyJhbGciOiJSUzI1NiIs.....

Refresh Token

A Refresh token is a long-lived token that you use to request new Access tokens. Its expiration time is longer than that of an Access token.

Two types of accounts

Nexway provides a POST /iam/tokens endpoint to create and refresh JWTs. There are two different ways to get an access_token:

  • For a service account specify grant_type as client_credentials, client_id, realm, client_secret.
  • For a user account use grant_type equal password, realm, username and password.

Grant type "client_credentials" sample request

POST /iam/tokens

{
"client_id": "api-services",
"client_secret": "XXX-XXX-XXX-XXX",
"realm": "com2us",
"grant_type": "client_credentials"
}

You can put realm into client_id attribute separating them with two dashes --: (realm_name--client-id_value) if you can't use non standard parameter realm:

POST /iam/tokens

{
"client_id": "com2us--api-services",
"client_secret": "XXX-XXX-XXX-XXX",
"grant_type": "client_credentials"
}

Grant type "password" sample request

In this case, "grant_type" is not mandatory, since the default value is "password".

POST /iam/tokens

{
"username": "jdoe",
"password": "987654321",
"realm": "com2us"
}

Sample response

{
"access_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzUlFuM0J4ZnRDakd0dTVBR0lEZkIyQ0pnQVprMnpwN1R2UGppc2JSN3NJIn0.eyJqdGkiOiI0NzU5NzIwZi04NWRmLTQ1MWYtOTY2MS1jMDc5MGI5OWVmY2UiLCJleHAiOjE1MDY1ODczMTUsIm5iZiI6MCwiaWF0IjoxNTA2NTg3MDE1LCJpc3MiOiJodHRwOi8va2V5Y2xvYWs6ODA4MC9hdXRoL3JlYWxtcy9jb20ydXMiLCJhdWQiOiJuZXh3YXktY2VudGVyIiwic3ViIjoiMjhlNDU4MjYtNDlhYy00N2FmLWFkMTMtZmI5NjUyNGRiYWE5IiwidHlwIjoiQmVhcmVyIiwiYXpwIjoibmV4d2F5LWNlbnRlciIsImF1dGhfdGltZSI6MCwic2Vzc2lvbl9zdGF0ZSI6IjgyYjc3MTc5LTkwZWItNDEwYS1hMGY0LWFiMzg5NDQ1ZDRmYSIsImFjciI6IjEiLCJjbGllbnRfc2Vzc2lvbiI6IjI1MjBhOWRlLWRhN2MtNDg5OS05ODdhLTEyYTVjM2I4NzM4MiIsImFsbG93ZWQtb3JpZ2lucyI6WyIqIl0sInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiY2FydC1zZXJ2aWNlIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJkZWxldGUiLCJnZXRzIiwiZ2V0QWxsQ2FydHMiLCJwdXQiLCJkZWxldGVDYXJ0Il19LCJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS11c2VycyJdfSwiY3VzdG9tZXItc2VydmljZSI6eyJyb2xlcyI6WyJnZXRDdXN0b21lckJ5TmFtZSIsImdldCIsImdldEN1c3RvbWVyQnlSZWFsbU5hbWUiLCJwdXQiLCJnZXRDdXN0b21lciJdfSwib3JkZXJ2aWV3LXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJEZXRhaWwiLCJwb3N0IiwiZ2V0IiwiZ2V0cyIsImRlbGV0ZSIsInB1dCJdfSwicHJvZHVjdC1zZXJ2aWNlIjp7InJvbGVzIjpbImdldFByb2R1Y3QiLCJkZWxldGVQcm9kdWN0QXNzZXQiLCJ1cGRhdGVQcm9kdWN0IiwiY3JlYXRlUHJvZHVjdCIsImdldEFsbFByb2R1Y3RBc3NldHMiLCJnZXRzIiwiZGVsZXRlIiwicHV0IiwiY3JlYXRlUHJvZHVjdEFzc2V0IiwiZ2V0QWxsUHJvZHVjdHMiLCJkZWxldGVQcm9kdWN0TG9jYWxlIiwiZ2V0UHJvZHVjdEFzc2V0IiwicG9zdCIsImdldCIsImRlbGV0ZVByb2R1Y3RDb3VudHJ5IiwiZGVsZXRlUHJvZHVjdCJdfSwiZW5kdXNlci1zZXJ2aWNlIjp7InJvbGVzIjpbInJlc2V0RW5kdXNlclBhc3N3b3JkIiwiZ2V0RW5kdXNlckJ5U3RvcmVBbmRFbWFpbCIsImNyZWF0ZUVuZHVzZXIiLCJwb3N0IiwidXBkYXRlRW5kdXNlciIsImdldCIsImdldEFsbEVuZHVzZXJzIiwiZGVsZXRlIiwiZ2V0cyIsInB1dCIsImdldEVuZHVzZXIiXX0sIm54LWZ1bGZpbGxtZW50Ijp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJnZXRzIiwicHV0Il19LCJlbWFpbC1idWlsZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCIsImdldCIsImRlbGV0ZSIsImdldHMiLCJwdXQiXX0sIm54LWN1c3RvbWVyLW5vdGlmaWVyIjp7InJvbGVzIjpbInVwZGF0ZU5vdGlmaWVyUnVsZXMiLCJnZXROb3RpZmllclJ1bGVzIiwiZGVsZXRlTm90aWZpZXJSdWxlcyIsImNyZWF0ZU5vdGlmaWVyUnVsZXMiXX0sImtleWNsb2FrLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0QWxsVXNlcnMiLCJwb3N0IiwiZ2V0VXNlciIsImdldCIsImRlbGV0ZVVzZXIiLCJ1cGRhdGVVc2VyIiwiY3JlYXRlVXNlciIsImdldHMiLCJkZWxldGUiLCJwdXQiXX0sIm54LWxpY2Vuc2Uta2V5LXByb3ZpZGVyIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiXX0sIm54LWNhbXBhaWduLWNvbmZpZ3VyYXRvciI6eyJyb2xlcyI6WyJwb3N0IiwiZ2V0IiwiZGVsZXRlIiwicHV0Il19LCJzdG9yZS1zZXJ2aWNlIjp7InJvbGVzIjpbInVwZGF0ZVN0b3JlIiwiZ2V0U3RvcmVCeU5hbWUiLCJwb3N0IiwiZ2V0IiwiZ2V0QWxsU3RvcmVzIiwiZ2V0cyIsImRlbGV0ZSIsImNyZWF0ZVN0b3JlIiwicHV0IiwiZGVsZXRlU3RvcmUiXX0sInB1cmNoYXNlLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCJdfSwicGVudGFobyI6eyJyb2xlcyI6WyJnZXQiXX0sIm9yZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJFbWFpbCIsImdldE9yZGVyIiwiZ2V0QWxsT3JkZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fSwibmFtZSI6ImpvaG4gZG9lIiwicHJlZmVycmVkX3VzZXJuYW1lIjoiamRvZSIsImdpdmVuX25hbWUiOiJqb2huIiwiZmFtaWx5X25hbWUiOiJkb2UiLCJlbWFpbCI6Impkb2VAY29tMnVzLmNvbSJ9.nz1PPZqcWwCE5qFTnd9ee2R5u8Ky87i4c5Lyp4QOor6FAl-Tg2hD2zRe34QO--u62WfxINCF8poLAP6BPwYTzYkGpwMV-IJ7QyrPSq-aJghF-i2tHLlDQiYG28jN_wTIFzftxX14e9I3sAji594QV6X-wCsBpik4aFLQa6bsV7FY1G7TU2nS6ji1XMUNHTzUMWmUjN0pTPmtkaDbm6s34bXetWfYs4G1vXUFfKGwDyPO2H2kOKiJFzIx9g7C6lVyV1FX2MvVzGgGTE5W8ht-wK8bYaXs36Q2iMZOL2htNl8Y3GZUlyfsuaKus6JY8T1MMs9Ao0e2L2t773kqdr8ixw",
"expires_in": 300,
"refresh_expires_in": 1800,
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzUlFuM0J4ZnRDakd0dTVBR0lEZkIyQ0pnQVprMnpwN1R2UGppc2JSN3NJIn0.eyJqdGkiOiI1ZTQ5OWM3OC0wYzc0LTQ5NWQtOGIxMy0zZGVkYTAxODg1OTMiLCJleHAiOjE1MDY1ODg4MTUsIm5iZiI6MCwiaWF0IjoxNTA2NTg3MDE1LCJpc3MiOiJodHRwOi8va2V5Y2xvYWs6ODA4MC9hdXRoL3JlYWxtcy9jb20ydXMiLCJhdWQiOiJuZXh3YXktY2VudGVyIiwic3ViIjoiMjhlNDU4MjYtNDlhYy00N2FmLWFkMTMtZmI5NjUyNGRiYWE5IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Im5leHdheS1jZW50ZXIiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI4MmI3NzE3OS05MGViLTQxMGEtYTBmNC1hYjM4OTQ0NWQ0ZmEiLCJjbGllbnRfc2Vzc2lvbiI6IjI1MjBhOWRlLWRhN2MtNDg5OS05ODdhLTEyYTVjM2I4NzM4MiIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiY2FydC1zZXJ2aWNlIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJkZWxldGUiLCJnZXRzIiwiZ2V0QWxsQ2FydHMiLCJwdXQiLCJkZWxldGVDYXJ0Il19LCJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS11c2VycyJdfSwiY3VzdG9tZXItc2VydmljZSI6eyJyb2xlcyI6WyJnZXRDdXN0b21lckJ5TmFtZSIsImdldCIsImdldEN1c3RvbWVyQnlSZWFsbU5hbWUiLCJwdXQiLCJnZXRDdXN0b21lciJdfSwib3JkZXJ2aWV3LXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJEZXRhaWwiLCJwb3N0IiwiZ2V0IiwiZ2V0cyIsImRlbGV0ZSIsInB1dCJdfSwicHJvZHVjdC1zZXJ2aWNlIjp7InJvbGVzIjpbImdldFByb2R1Y3QiLCJkZWxldGVQcm9kdWN0QXNzZXQiLCJ1cGRhdGVQcm9kdWN0IiwiY3JlYXRlUHJvZHVjdCIsImdldEFsbFByb2R1Y3RBc3NldHMiLCJnZXRzIiwiZGVsZXRlIiwicHV0IiwiY3JlYXRlUHJvZHVjdEFzc2V0IiwiZ2V0QWxsUHJvZHVjdHMiLCJkZWxldGVQcm9kdWN0TG9jYWxlIiwiZ2V0UHJvZHVjdEFzc2V0IiwicG9zdCIsImdldCIsImRlbGV0ZVByb2R1Y3RDb3VudHJ5IiwiZGVsZXRlUHJvZHVjdCJdfSwiZW5kdXNlci1zZXJ2aWNlIjp7InJvbGVzIjpbInJlc2V0RW5kdXNlclBhc3N3b3JkIiwiZ2V0RW5kdXNlckJ5U3RvcmVBbmRFbWFpbCIsImNyZWF0ZUVuZHVzZXIiLCJwb3N0IiwidXBkYXRlRW5kdXNlciIsImdldCIsImdldEFsbEVuZHVzZXJzIiwiZGVsZXRlIiwiZ2V0cyIsInB1dCIsImdldEVuZHVzZXIiXX0sIm54LWZ1bGZpbGxtZW50Ijp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJnZXRzIiwicHV0Il19LCJlbWFpbC1idWlsZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCIsImdldCIsImRlbGV0ZSIsImdldHMiLCJwdXQiXX0sIm54LWN1c3RvbWVyLW5vdGlmaWVyIjp7InJvbGVzIjpbInVwZGF0ZU5vdGlmaWVyUnVsZXMiLCJnZXROb3RpZmllclJ1bGVzIiwiZGVsZXRlTm90aWZpZXJSdWxlcyIsImNyZWF0ZU5vdGlmaWVyUnVsZXMiXX0sImtleWNsb2FrLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0QWxsVXNlcnMiLCJwb3N0IiwiZ2V0VXNlciIsImdldCIsImRlbGV0ZVVzZXIiLCJ1cGRhdGVVc2VyIiwiY3JlYXRlVXNlciIsImdldHMiLCJkZWxldGUiLCJwdXQiXX0sIm54LWxpY2Vuc2Uta2V5LXByb3ZpZGVyIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiXX0sIm54LWNhbXBhaWduLWNvbmZpZ3VyYXRvciI6eyJyb2xlcyI6WyJwb3N0IiwiZ2V0IiwiZGVsZXRlIiwicHV0Il19LCJzdG9yZS1zZXJ2aWNlIjp7InJvbGVzIjpbInVwZGF0ZVN0b3JlIiwiZ2V0U3RvcmVCeU5hbWUiLCJwb3N0IiwiZ2V0IiwiZ2V0QWxsU3RvcmVzIiwiZ2V0cyIsImRlbGV0ZSIsImNyZWF0ZVN0b3JlIiwicHV0IiwiZGVsZXRlU3RvcmUiXX0sInB1cmNoYXNlLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCJdfSwicGVudGFobyI6eyJyb2xlcyI6WyJnZXQiXX0sIm9yZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJFbWFpbCIsImdldE9yZGVyIiwiZ2V0QWxsT3JkZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fX0.jUPnkNyaElkyNeVtcv6qapTk06-VDy2ddR04btCJBUhhQyl1KZY5fsSlRJXh3PZQcyU4_mSIZiIXMaFKH8WMOWbW6stnLSZMdPMLpwHIIlL14FOMifsz3nkacIk3L8ZIfZcXXn-jGNHJ0N_Toh15JTp_jbDfiaX-n7vNfurggQ8kHUrMXUDfXmB-vJbKgvc7uwKOLsopkVPXehq_FYMdst_oAqBWQzAFH1726S1XKINcluAtp_7ItYkNTZMgKH44vuBsu4EewvJE6hQw_TrzTSEz1ozDKbPQIrbbR0GI3Dz4cmZuHfMVE7-_6PPzrXRzT1eh31NZO8hjh-_ghzp6Vw",
"token_type": "bearer",
"id_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzUlFuM0J4ZnRDakd0dTVBR0lEZkIyQ0pnQVprMnpwN1R2UGppc2JSN3NJIn0.eyJqdGkiOiJlMmFkODljYy05MzU2LTQ5M2UtYTUwMC0wOTA2YmIzNzI0ZmYiLCJleHAiOjE1MDY1ODczMTUsIm5iZiI6MCwiaWF0IjoxNTA2NTg3MDE1LCJpc3MiOiJodHRwOi8va2V5Y2xvYWs6ODA4MC9hdXRoL3JlYWxtcy9jb20ydXMiLCJhdWQiOiJuZXh3YXktY2VudGVyIiwic3ViIjoiMjhlNDU4MjYtNDlhYy00N2FmLWFkMTMtZmI5NjUyNGRiYWE5IiwidHlwIjoiSUQiLCJhenAiOiJuZXh3YXktY2VudGVyIiwiYXV0aF90aW1lIjowLCJzZXNzaW9uX3N0YXRlIjoiODJiNzcxNzktOTBlYi00MTBhLWEwZjQtYWIzODk0NDVkNGZhIiwiYWNyIjoiMSIsIm5hbWUiOiJqb2huIGRvZSIsInByZWZlcnJlZF91c2VybmFtZSI6Impkb2UiLCJnaXZlbl9uYW1lIjoiam9obiIsImZhbWlseV9uYW1lIjoiZG9lIiwiZW1haWwiOiJqZG9lQGNvbTJ1cy5jb20ifQ.KuDQT7Rawksp8XrQLIAwxr6kzM0jfGmV0pH2P2DOob9hXqeXmYzJlKD0OwuNsLLKocBcenCIar-pAbq-2qhOBaEaozUXGHj8nSOjERXVMx4C1XwjsXJYy7g5JQ8aCeCubfA2hoyYSzPPqubbywAZxC5S2Nmj49TKXpP_QmnvC6Od0cOX1OzXQOA4CvBCQ1cSTQQtGoLrQa6F9t8Um-qJbfhCIJf_6CbnTas48l7ipgOpk2y6QtMP9K_dd-sjJrH5YCW2R8CGVyeImldqVydyRZZ6urZbDrPkL1l0U0VtYv_a_NsrbeP-RLKFdmUMca5qIrhrZh-bbztrUyyq-aoUwQ",
"not-before-policy": 0,
"session_state": "371a7b3b-6a24-479b-89ee-048e7da736b5"
}

Going forward, use a Refresh token to extend your session instead of using client secret to get a new Access token (and thus creating a new session) each time. However, as a Refresh token also has an expiration time, you will need use client secret when you request a new Refresh token.

Sample refresh request

{
"realm": "com2us",
"grant_type": "refresh_token",
"refresh_token": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzUlFuM0J4ZnRDakd0dTVBR0lEZkIyQ0pnQVprMnpwN1R2UGppc2JSN3NJIn0.eyJqdGkiOiI1ZTQ5OWM3OC0wYzc0LTQ5NWQtOGIxMy0zZGVkYTAxODg1OTMiLCJleHAiOjE1MDY1ODg4MTUsIm5iZiI6MCwiaWF0IjoxNTA2NTg3MDE1LCJpc3MiOiJodHRwOi8va2V5Y2xvYWs6ODA4MC9hdXRoL3JlYWxtcy9jb20ydXMiLCJhdWQiOiJuZXh3YXktY2VudGVyIiwic3ViIjoiMjhlNDU4MjYtNDlhYy00N2FmLWFkMTMtZmI5NjUyNGRiYWE5IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Im5leHdheS1jZW50ZXIiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI4MmI3NzE3OS05MGViLTQxMGEtYTBmNC1hYjM4OTQ0NWQ0ZmEiLCJjbGllbnRfc2Vzc2lvbiI6IjI1MjBhOWRlLWRhN2MtNDg5OS05ODdhLTEyYTVjM2I4NzM4MiIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiY2FydC1zZXJ2aWNlIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJkZWxldGUiLCJnZXRzIiwiZ2V0QWxsQ2FydHMiLCJwdXQiLCJkZWxldGVDYXJ0Il19LCJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS11c2VycyJdfSwiY3VzdG9tZXItc2VydmljZSI6eyJyb2xlcyI6WyJnZXRDdXN0b21lckJ5TmFtZSIsImdldCIsImdldEN1c3RvbWVyQnlSZWFsbU5hbWUiLCJwdXQiLCJnZXRDdXN0b21lciJdfSwib3JkZXJ2aWV3LXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJEZXRhaWwiLCJwb3N0IiwiZ2V0IiwiZ2V0cyIsImRlbGV0ZSIsInB1dCJdfSwicHJvZHVjdC1zZXJ2aWNlIjp7InJvbGVzIjpbImdldFByb2R1Y3QiLCJkZWxldGVQcm9kdWN0QXNzZXQiLCJ1cGRhdGVQcm9kdWN0IiwiY3JlYXRlUHJvZHVjdCIsImdldEFsbFByb2R1Y3RBc3NldHMiLCJnZXRzIiwiZGVsZXRlIiwicHV0IiwiY3JlYXRlUHJvZHVjdEFzc2V0IiwiZ2V0QWxsUHJvZHVjdHMiLCJkZWxldGVQcm9kdWN0TG9jYWxlIiwiZ2V0UHJvZHVjdEFzc2V0IiwicG9zdCIsImdldCIsImRlbGV0ZVByb2R1Y3RDb3VudHJ5IiwiZGVsZXRlUHJvZHVjdCJdfSwiZW5kdXNlci1zZXJ2aWNlIjp7InJvbGVzIjpbInJlc2V0RW5kdXNlclBhc3N3b3JkIiwiZ2V0RW5kdXNlckJ5U3RvcmVBbmRFbWFpbCIsImNyZWF0ZUVuZHVzZXIiLCJwb3N0IiwidXBkYXRlRW5kdXNlciIsImdldCIsImdldEFsbEVuZHVzZXJzIiwiZGVsZXRlIiwiZ2V0cyIsInB1dCIsImdldEVuZHVzZXIiXX0sIm54LWZ1bGZpbGxtZW50Ijp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJnZXRzIiwicHV0Il19LCJlbWFpbC1idWlsZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCIsImdldCIsImRlbGV0ZSIsImdldHMiLCJwdXQiXX0sIm54LWN1c3RvbWVyLW5vdGlmaWVyIjp7InJvbGVzIjpbInVwZGF0ZU5vdGlmaWVyUnVsZXMiLCJnZXROb3RpZmllclJ1bGVzIiwiZGVsZXRlTm90aWZpZXJSdWxlcyIsImNyZWF0ZU5vdGlmaWVyUnVsZXMiXX0sImtleWNsb2FrLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0QWxsVXNlcnMiLCJwb3N0IiwiZ2V0VXNlciIsImdldCIsImRlbGV0ZVVzZXIiLCJ1cGRhdGVVc2VyIiwiY3JlYXRlVXNlciIsImdldHMiLCJkZWxldGUiLCJwdXQiXX0sIm54LWxpY2Vuc2Uta2V5LXByb3ZpZGVyIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiXX0sIm54LWNhbXBhaWduLWNvbmZpZ3VyYXRvciI6eyJyb2xlcyI6WyJwb3N0IiwiZ2V0IiwiZGVsZXRlIiwicHV0Il19LCJzdG9yZS1zZXJ2aWNlIjp7InJvbGVzIjpbInVwZGF0ZVN0b3JlIiwiZ2V0U3RvcmVCeU5hbWUiLCJwb3N0IiwiZ2V0IiwiZ2V0QWxsU3RvcmVzIiwiZ2V0cyIsImRlbGV0ZSIsImNyZWF0ZVN0b3JlIiwicHV0IiwiZGVsZXRlU3RvcmUiXX0sInB1cmNoYXNlLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCJdfSwicGVudGFobyI6eyJyb2xlcyI6WyJnZXQiXX0sIm9yZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJFbWFpbCIsImdldE9yZGVyIiwiZ2V0QWxsT3JkZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fX0.jUPnkNyaElkyNeVtcv6qapTk06-VDy2ddR04btCJBUhhQyl1KZY5fsSlRJXh3PZQcyU4_mSIZiIXMaFKH8WMOWbW6stnLSZMdPMLpwHIIlL14FOMifsz3nkacIk3L8ZIfZcXXn-jGNHJ0N_Toh15JTp_jbDfiaX-n7vNfurggQ8kHUrMXUDfXmB-vJbKgvc7uwKOLsopkVPXehq_FYMdst_oAqBWQzAFH1726S1XKINcluAtp_7ItYkNTZMgKH44vuBsu4EewvJE6hQw_TrzTSEz1ozDKbPQIrbbR0GI3Dz4cmZuHfMVE7-_6PPzrXRzT1eh31NZO8hjh-_ghzp6Vw"
}