Skip to main content

JWT-authentication

JWTs (Json Web Tokens)

Access token

An Access JWT is used for authentication and authorization:

  • Authentication requires verifying the signature of the Access JWT. If the signature is valid, access to the requested API resource is granted.
  • Authorization is done by looking up privileges within the scope attribute of the Access JWT. For this, you must first obtain the Access JWT and then enter it into the Authorization header of each API call. The value of the Authorization looks 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.

List of available APIs

OperationHTTP RequestResource RequestDescription
getUserTokenPOST /iam/tokensTokenRequestGet/refresh a token
invalidateTokenDELETE /iam/tokens/invalidateInvalidate a token
resetUsingDELETEDELETE /iam/tokens/resetreset

How to

Nexway provides a POST getUserToken endpoint to get and refresh JWTs. You can get a token two different ways:

  • By using realm name, client secret, and by specifying the grant type in client_credentials, if using an application interface.
  • By using realm name, username, password, and by specifying the grant type in password, if you are a human user.

Grant type "client_credentials" sample request

{
"clientSecret": "XXX-XXX-XXX-XXX",
"realmName": "com2us",
"grantType": "client_credentials"
}

Grant type "password" sample request

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

{
"username": "jdoe",
"password": "987654321",
"realmName": "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

{
"realmName": "com2us",
"grantType": "refresh_token",
"refreshToken": "eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJzUlFuM0J4ZnRDakd0dTVBR0lEZkIyQ0pnQVprMnpwN1R2UGppc2JSN3NJIn0.eyJqdGkiOiI1ZTQ5OWM3OC0wYzc0LTQ5NWQtOGIxMy0zZGVkYTAxODg1OTMiLCJleHAiOjE1MDY1ODg4MTUsIm5iZiI6MCwiaWF0IjoxNTA2NTg3MDE1LCJpc3MiOiJodHRwOi8va2V5Y2xvYWs6ODA4MC9hdXRoL3JlYWxtcy9jb20ydXMiLCJhdWQiOiJuZXh3YXktY2VudGVyIiwic3ViIjoiMjhlNDU4MjYtNDlhYy00N2FmLWFkMTMtZmI5NjUyNGRiYWE5IiwidHlwIjoiUmVmcmVzaCIsImF6cCI6Im5leHdheS1jZW50ZXIiLCJhdXRoX3RpbWUiOjAsInNlc3Npb25fc3RhdGUiOiI4MmI3NzE3OS05MGViLTQxMGEtYTBmNC1hYjM4OTQ0NWQ0ZmEiLCJjbGllbnRfc2Vzc2lvbiI6IjI1MjBhOWRlLWRhN2MtNDg5OS05ODdhLTEyYTVjM2I4NzM4MiIsInJlYWxtX2FjY2VzcyI6eyJyb2xlcyI6WyJhZG1pbiIsInVtYV9hdXRob3JpemF0aW9uIl19LCJyZXNvdXJjZV9hY2Nlc3MiOnsiY2FydC1zZXJ2aWNlIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJkZWxldGUiLCJnZXRzIiwiZ2V0QWxsQ2FydHMiLCJwdXQiLCJkZWxldGVDYXJ0Il19LCJyZWFsbS1tYW5hZ2VtZW50Ijp7InJvbGVzIjpbIm1hbmFnZS11c2VycyJdfSwiY3VzdG9tZXItc2VydmljZSI6eyJyb2xlcyI6WyJnZXRDdXN0b21lckJ5TmFtZSIsImdldCIsImdldEN1c3RvbWVyQnlSZWFsbU5hbWUiLCJwdXQiLCJnZXRDdXN0b21lciJdfSwib3JkZXJ2aWV3LXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJEZXRhaWwiLCJwb3N0IiwiZ2V0IiwiZ2V0cyIsImRlbGV0ZSIsInB1dCJdfSwicHJvZHVjdC1zZXJ2aWNlIjp7InJvbGVzIjpbImdldFByb2R1Y3QiLCJkZWxldGVQcm9kdWN0QXNzZXQiLCJ1cGRhdGVQcm9kdWN0IiwiY3JlYXRlUHJvZHVjdCIsImdldEFsbFByb2R1Y3RBc3NldHMiLCJnZXRzIiwiZGVsZXRlIiwicHV0IiwiY3JlYXRlUHJvZHVjdEFzc2V0IiwiZ2V0QWxsUHJvZHVjdHMiLCJkZWxldGVQcm9kdWN0TG9jYWxlIiwiZ2V0UHJvZHVjdEFzc2V0IiwicG9zdCIsImdldCIsImRlbGV0ZVByb2R1Y3RDb3VudHJ5IiwiZGVsZXRlUHJvZHVjdCJdfSwiZW5kdXNlci1zZXJ2aWNlIjp7InJvbGVzIjpbInJlc2V0RW5kdXNlclBhc3N3b3JkIiwiZ2V0RW5kdXNlckJ5U3RvcmVBbmRFbWFpbCIsImNyZWF0ZUVuZHVzZXIiLCJwb3N0IiwidXBkYXRlRW5kdXNlciIsImdldCIsImdldEFsbEVuZHVzZXJzIiwiZGVsZXRlIiwiZ2V0cyIsInB1dCIsImdldEVuZHVzZXIiXX0sIm54LWZ1bGZpbGxtZW50Ijp7InJvbGVzIjpbInBvc3QiLCJnZXQiLCJnZXRzIiwicHV0Il19LCJlbWFpbC1idWlsZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCIsImdldCIsImRlbGV0ZSIsImdldHMiLCJwdXQiXX0sIm54LWN1c3RvbWVyLW5vdGlmaWVyIjp7InJvbGVzIjpbInVwZGF0ZU5vdGlmaWVyUnVsZXMiLCJnZXROb3RpZmllclJ1bGVzIiwiZGVsZXRlTm90aWZpZXJSdWxlcyIsImNyZWF0ZU5vdGlmaWVyUnVsZXMiXX0sImtleWNsb2FrLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0QWxsVXNlcnMiLCJwb3N0IiwiZ2V0VXNlciIsImdldCIsImRlbGV0ZVVzZXIiLCJ1cGRhdGVVc2VyIiwiY3JlYXRlVXNlciIsImdldHMiLCJkZWxldGUiLCJwdXQiXX0sIm54LWxpY2Vuc2Uta2V5LXByb3ZpZGVyIjp7InJvbGVzIjpbInBvc3QiLCJnZXQiXX0sIm54LWNhbXBhaWduLWNvbmZpZ3VyYXRvciI6eyJyb2xlcyI6WyJwb3N0IiwiZ2V0IiwiZGVsZXRlIiwicHV0Il19LCJzdG9yZS1zZXJ2aWNlIjp7InJvbGVzIjpbInVwZGF0ZVN0b3JlIiwiZ2V0U3RvcmVCeU5hbWUiLCJwb3N0IiwiZ2V0IiwiZ2V0QWxsU3RvcmVzIiwiZ2V0cyIsImRlbGV0ZSIsImNyZWF0ZVN0b3JlIiwicHV0IiwiZGVsZXRlU3RvcmUiXX0sInB1cmNoYXNlLXNlcnZpY2UiOnsicm9sZXMiOlsicG9zdCJdfSwicGVudGFobyI6eyJyb2xlcyI6WyJnZXQiXX0sIm9yZGVyLXNlcnZpY2UiOnsicm9sZXMiOlsiZ2V0T3JkZXJFbWFpbCIsImdldE9yZGVyIiwiZ2V0QWxsT3JkZXJzIl19LCJhY2NvdW50Ijp7InJvbGVzIjpbIm1hbmFnZS1hY2NvdW50Iiwidmlldy1wcm9maWxlIl19fX0.jUPnkNyaElkyNeVtcv6qapTk06-VDy2ddR04btCJBUhhQyl1KZY5fsSlRJXh3PZQcyU4_mSIZiIXMaFKH8WMOWbW6stnLSZMdPMLpwHIIlL14FOMifsz3nkacIk3L8ZIfZcXXn-jGNHJ0N_Toh15JTp_jbDfiaX-n7vNfurggQ8kHUrMXUDfXmB-vJbKgvc7uwKOLsopkVPXehq_FYMdst_oAqBWQzAFH1726S1XKINcluAtp_7ItYkNTZMgKH44vuBsu4EewvJE6hQw_TrzTSEz1ozDKbPQIrbbR0GI3Dz4cmZuHfMVE7-_6PPzrXRzT1eh31NZO8hjh-_ghzp6Vw"
}