Skip to content

Commit

Permalink
[Tables] Fix odata serialization (Azure#24290)
Browse files Browse the repository at this point in the history
* Fix odata serialization

* Support int32 validation

* Add test recordings

* Update all affected recordings

* Redact tokens

* Update changelog

* Improved comments

Co-authored-by: McCoy Patiño <[email protected]>
  • Loading branch information
annatisch and mccoyp authored May 18, 2022
1 parent 2c72db1 commit 867b91a
Show file tree
Hide file tree
Showing 361 changed files with 28,166 additions and 22,124 deletions.
5 changes: 4 additions & 1 deletion sdk/tables/azure-data-tables/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,10 @@
## 12.4.0 (2022-05-10)

### Features Added
- Support for multitenant authentication ([#24278](https://github.com/Azure/azure-sdk-for-python/pull/24278))
* Support for multitenant authentication ([#24278](https://github.com/Azure/azure-sdk-for-python/pull/24278))

### Bugs Fixed
* Fixed bug where odmtype tag was not being included for boolean and int32 types even when a full EdmProperty tuple was passed in. This is needed for CLI compatibility.

## 12.3.0 (2022-03-10)

Expand Down
16 changes: 12 additions & 4 deletions sdk/tables/azure-data-tables/azure/data/tables/_serialize.py
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,9 @@ def _to_entity_datetime(value):


def _to_entity_float(value):
if isinstance(value, str):
# Pass a serialized value straight through
return EdmType.DOUBLE, value
if isnan(value):
return EdmType.DOUBLE, "NaN"
if value == float("inf"):
Expand Down Expand Up @@ -129,7 +132,7 @@ def _to_entity_int64(value):


def _to_entity_str(value):
return EdmType.STRING, value
return EdmType.STRING, str(value)


def _to_entity_none(value): # pylint: disable=unused-argument
Expand Down Expand Up @@ -163,14 +166,19 @@ def _to_entity_none(value): # pylint: disable=unused-argument
)

# Conversion from Edm type to a function which returns a tuple of the
# type string and content string.
# type string and content string. These conversions are only used when the
# full EdmProperty tuple is specified. As a result, in this case we ALWAYS add
# the Odatatype tag, even for field types where it's not necessary. This is why
# boolean and int32 have special processing below, as we would not normally add the
# Odatatype tags for these to keep payload size minimal.
# This is also necessary for CLI compatibility.
_EDM_TO_ENTITY_CONVERSIONS = {
EdmType.BINARY: _to_entity_binary,
EdmType.BOOLEAN: _to_entity_bool,
EdmType.BOOLEAN: lambda v: (EdmType.BOOLEAN, v),
EdmType.DATETIME: _to_entity_datetime,
EdmType.DOUBLE: _to_entity_float,
EdmType.GUID: _to_entity_guid,
EdmType.INT32: _to_entity_int32,
EdmType.INT32: lambda v: (EdmType.INT32, _to_entity_int32(v)[1]), # Still using the int32 validation
EdmType.INT64: _to_entity_int64,
EdmType.STRING: _to_entity_str,
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
{
"Entries": [
{
"RequestUri": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0/.well-known/openid-configuration",
"RequestUri": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0/.well-known/openid-configuration",
"RequestMethod": "GET",
"RequestHeaders": {
"Accept": "*/*",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive",
"User-Agent": "azsdk-python-identity/1.6.1 Python/3.9.2 (Windows-10-10.0.19041-SP0)"
"User-Agent": "azsdk-python-identity/1.11.0b1 Python/3.10.0 (Windows-10-10.0.22000-SP0)"
},
"RequestBody": null,
"StatusCode": 200,
Expand All @@ -17,26 +17,26 @@
"Cache-Control": "max-age=86400, private",
"Content-Length": "1753",
"Content-Type": "application/json; charset=utf-8",
"Date": "Mon, 18 Oct 2021 22:00:09 GMT",
"Date": "Fri, 06 May 2022 02:09:07 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
"fpc=AtOpiLRl9TtBpI2WZhYBrIk-ro1yCQAAAEDl_9gOAAAA; expires=Wed, 17-Nov-2021 22:00:09 GMT; path=/; secure; HttpOnly; SameSite=None",
"fpc=AifWq3QfkPlNubWylR5yiFhE9Ko2CQAAAB56BtoOAAAA; expires=Sun, 05-Jun-2022 02:09:08 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly",
"stsservicecookie=estsfd; path=/; secure; samesite=none; httponly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-ests-server": "2.1.12158.6 - WUS2 ProdSlices",
"x-ms-request-id": "904eb32f-fc2e-413a-8b0a-e5705350b000"
"x-ms-ests-server": "2.1.12651.10 - SCUS ProdSlices",
"X-XSS-Protection": "0"
},
"ResponseBody": {
"token_endpoint": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/token",
"token_endpoint": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/token",
"token_endpoint_auth_methods_supported": [
"client_secret_post",
"private_key_jwt",
"client_secret_basic"
],
"jwks_uri": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/discovery/v2.0/keys",
"jwks_uri": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/discovery/v2.0/keys",
"response_modes_supported": [
"query",
"fragment",
Expand All @@ -60,14 +60,14 @@
"email",
"offline_access"
],
"issuer": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/v2.0",
"issuer": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0",
"request_uri_parameter_supported": false,
"userinfo_endpoint": "https://graph.microsoft.com/oidc/userinfo",
"authorization_endpoint": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/authorize",
"device_authorization_endpoint": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/devicecode",
"authorization_endpoint": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/authorize",
"device_authorization_endpoint": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/devicecode",
"http_logout_supported": true,
"frontchannel_logout_supported": true,
"end_session_endpoint": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/logout",
"end_session_endpoint": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/logout",
"claims_supported": [
"sub",
"iss",
Expand All @@ -89,7 +89,7 @@
"c_hash",
"email"
],
"kerberos_endpoint": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/kerberos",
"kerberos_endpoint": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/kerberos",
"tenant_region_scope": "WW",
"cloud_instance_name": "microsoftonline.com",
"cloud_graph_host_name": "graph.windows.net",
Expand All @@ -104,8 +104,8 @@
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate",
"Connection": "keep-alive",
"Cookie": "fpc=AtOpiLRl9TtBpI2WZhYBrIk-ro1yCQAAAEDl_9gOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd",
"User-Agent": "azsdk-python-identity/1.6.1 Python/3.9.2 (Windows-10-10.0.19041-SP0)"
"Cookie": "fpc=AifWq3QfkPlNubWylR5yiFhE9Ko2CQAAAB56BtoOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd",
"User-Agent": "azsdk-python-identity/1.11.0b1 Python/3.10.0 (Windows-10-10.0.22000-SP0)"
},
"RequestBody": null,
"StatusCode": 200,
Expand All @@ -115,17 +115,17 @@
"Cache-Control": "max-age=86400, private",
"Content-Length": "945",
"Content-Type": "application/json; charset=utf-8",
"Date": "Mon, 18 Oct 2021 22:00:09 GMT",
"Date": "Fri, 06 May 2022 02:09:07 GMT",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Set-Cookie": [
"fpc=AtOpiLRl9TtBpI2WZhYBrIk-ro1yCQAAAEDl_9gOAAAA; expires=Wed, 17-Nov-2021 22:00:09 GMT; path=/; secure; HttpOnly; SameSite=None",
"fpc=AifWq3QfkPlNubWylR5yiFhE9Ko2CQAAAB56BtoOAAAA; expires=Sun, 05-Jun-2022 02:09:08 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly",
"stsservicecookie=estsfd; path=/; secure; samesite=none; httponly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-ests-server": "2.1.12108.10 - EUS ProdSlices",
"x-ms-request-id": "04f509d7-3900-4a0d-a214-62e561ed3901"
"x-ms-ests-server": "2.1.12707.9 - WUS2 ProdSlices",
"X-XSS-Protection": "0"
},
"ResponseBody": {
"tenant_discovery_endpoint": "https://login.microsoftonline.com/common/.well-known/openid-configuration",
Expand Down Expand Up @@ -175,52 +175,53 @@
}
},
{
"RequestUri": "https://login.microsoftonline.com/72f988bf-86f1-41af-91ab-2d7cd011db47/oauth2/v2.0/token",
"RequestUri": "https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/oauth2/v2.0/token",
"RequestMethod": "POST",
"RequestHeaders": {
"Accept": "application/json",
"Accept-Encoding": "gzip, deflate",
"client-request-id": "7eb1d612-1f4b-4aa2-a509-12b761ed0bfb",
"client-request-id": "de8392e3-d205-4eb9-8257-13694e83f8ab",
"Connection": "keep-alive",
"Content-Length": "190",
"Content-Length": "285",
"Content-Type": "application/x-www-form-urlencoded",
"Cookie": "fpc=AtOpiLRl9TtBpI2WZhYBrIk-ro1yCQAAAEDl_9gOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd",
"User-Agent": "azsdk-python-identity/1.6.1 Python/3.9.2 (Windows-10-10.0.19041-SP0)",
"Cookie": "fpc=AifWq3QfkPlNubWylR5yiFhE9Ko2CQAAAB56BtoOAAAA; stsservicecookie=estsfd; x-ms-gateway-slice=estsfd",
"User-Agent": "azsdk-python-identity/1.11.0b1 Python/3.10.0 (Windows-10-10.0.22000-SP0)",
"x-client-cpu": "x64",
"x-client-current-telemetry": "4|730,0|",
"x-client-last-telemetry": "4|0|||",
"x-client-os": "win32",
"x-client-sku": "MSAL.Python",
"x-client-ver": "1.14.0",
"x-client-ver": "1.15.0",
"x-ms-lib-capability": "retry-after, h429"
},
"RequestBody": "client_id=c692e7f3-fcd0-45ac-b19c-70b0c73d61b2\u0026grant_type=client_credentials\u0026client_info=1\u0026client_secret=3afb0ec2-f0bb-4f0f-b3df-8673135beec3\u0026scope=https%3A%2F%2Fstorage.azure.com%2F.default",
"RequestBody": "client_id=c7962152-b34d-46e9-8b71-6ee54ee250af\u0026grant_type=client_credentials\u0026client_info=1\u0026client_secret=7c5a7b55-4074-47dc-bea2-65e2591bb771\u0026claims=%7B%22access_token%22%3A\u002B%7B%22xms_cc%22%3A\u002B%7B%22values%22%3A\u002B%5B%22CP1%22%5D%7D%7D%7D\u0026scope=https%3A%2F%2Fstorage.azure.com%2F.default",
"StatusCode": 200,
"ResponseHeaders": {
"Cache-Control": "no-store, no-cache",
"client-request-id": "7eb1d612-1f4b-4aa2-a509-12b761ed0bfb",
"Content-Length": "1318",
"client-request-id": "de8392e3-d205-4eb9-8257-13694e83f8ab",
"Content-Length": "114",
"Content-Type": "application/json; charset=utf-8",
"Date": "Mon, 18 Oct 2021 22:00:09 GMT",
"Date": "Fri, 06 May 2022 02:09:07 GMT",
"Expires": "-1",
"P3P": "CP=\u0022DSP CUR OTPi IND OTRi ONL FIN\u0022",
"Pragma": "no-cache",
"Set-Cookie": [
"fpc=AtOpiLRl9TtBpI2WZhYBrIk-ro1yCgAAAEDl_9gOAAAA; expires=Wed, 17-Nov-2021 22:00:09 GMT; path=/; secure; HttpOnly; SameSite=None",
"fpc=AifWq3QfkPlNubWylR5yiFhE9Ko2CgAAAB56BtoOAAAA; expires=Sun, 05-Jun-2022 02:09:08 GMT; path=/; secure; HttpOnly; SameSite=None",
"x-ms-gateway-slice=estsfd; path=/; secure; samesite=none; httponly",
"stsservicecookie=estsfd; path=/; secure; samesite=none; httponly"
],
"Strict-Transport-Security": "max-age=31536000; includeSubDomains",
"X-Content-Type-Options": "nosniff",
"x-ms-clitelem": "1,0,0,,",
"x-ms-ests-server": "2.1.12158.6 - WUS2 ProdSlices",
"x-ms-request-id": "7074d2eb-df76-4c0e-9776-b58f68c7a800"
"x-ms-ests-server": "2.1.12651.10 - EUS ProdSlices",
"X-XSS-Protection": "0"
},
"ResponseBody": {
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Imwzc1EtNTBjQ0g0eEJWWkxIVEd3blNSNzY4MCIsImtpZCI6Imwzc1EtNTBjQ0g0eEJWWkxIVEd3blNSNzY4MCJ9.eyJhdWQiOiJodHRwczovL3N0b3JhZ2UuYXp1cmUuY29tIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsImlhdCI6MTYzNDU5NDEwOSwibmJmIjoxNjM0NTk0MTA5LCJleHAiOjE2MzQ2ODA4MDksImFpbyI6IkUyWmdZR0E4UGZ0OS9aemQrMmVMUkhvcEgxNXdEQUE9IiwiYXBwaWQiOiJjNjkyZTdmMy1mY2QwLTQ1YWMtYjE5Yy03MGIwYzczZDYxYjIiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwib2lkIjoiY2Y0MjI4N2YtNjQxYS00NGExLThmZjgtOGQzNzI1NTdmMWQxIiwicmgiOiIwLkFSb0F2NGo1Y3ZHR3IwR1JxeTE4MEJIYlJfUG5rc2JRX0t4RnNaeHdzTWM5WWJJYUFBQS4iLCJzdWIiOiJjZjQyMjg3Zi02NDFhLTQ0YTEtOGZmOC04ZDM3MjU1N2YxZDEiLCJ0aWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJ1dGkiOiI2OUowY0hiZkRreVhkcldQYU1lb0FBIiwidmVyIjoiMS4wIn0.cqle8Jg69HZwCmF9JmsSOHJwCzaRCLO6W9txMhgdjrmaEQ-5Eq69QPZs_CSAW7vdAaDBQGsIlLGCLEkfKuGVyVG4HTpinN6AFAWmhIy3pJfJD3y19uZ0XvUalopZ1zATYq30HTMXG91bb0Q_tUoXnLYWClUtrYnbjY_p7Xp2mLgX14RBYKINLsRysSAdlY-9zodDlBeL5GIK49cVR1l3wJwJ0H8bsRFkh8dsiLDzSq-a_y9Fzn-MJqkoKFvxrqT1ErivJC699johPaiMb7sLaGwWWSt_BELRuMelirsCOTTCcgfMxoUxhQGpYS_sy8HEKT8FukAIj7yV6SujIXpU4w"
"refresh_in": 43199,
"access_token": "access_token"
}
},
{
Expand All @@ -229,33 +230,29 @@
"RequestHeaders": {
"Accept": "application/xml",
"Accept-Encoding": "gzip, deflate",
"Authorization": "Sanitized",
"Connection": "keep-alive",
"Date": "Mon, 18 Oct 2021 22:00:15 GMT",
"User-Agent": "azsdk-python-data-tables/12.1.1 Python/3.9.2 (Windows-10-10.0.19041-SP0)",
"x-ms-client-request-id": "c63f0c3a-305e-11ec-9657-5cf37093a909",
"x-ms-date": "Mon, 18 Oct 2021 22:00:15 GMT",
"Date": "Fri, 06 May 2022 02:09:09 GMT",
"User-Agent": "azsdk-python-data-tables/12.4.0 Python/3.10.0 (Windows-10-10.0.22000-SP0)",
"x-ms-date": "Fri, 06 May 2022 02:09:09 GMT",
"x-ms-version": "2019-02-02"
},
"RequestBody": null,
"StatusCode": 404,
"ResponseHeaders": {
"Content-Length": "322",
"Content-Type": "application/xml",
"Date": "Mon, 18 Oct 2021 22:00:09 GMT",
"Date": "Fri, 06 May 2022 02:09:08 GMT",
"Server": [
"Windows-Azure-Table/1.0",
"Microsoft-HTTPAPI/2.0"
],
"x-ms-client-request-id": "c63f0c3a-305e-11ec-9657-5cf37093a909",
"x-ms-error-code": "ResourceNotFound",
"x-ms-request-id": "5762cbe0-2002-0015-2e6b-c4666e000000",
"x-ms-version": "2019-02-02"
},
"ResponseBody": [
"\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003Cm:error xmlns:m=\u0022http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\u0022\u003E\u003Cm:code\u003EResourceNotFound\u003C/m:code\u003E\u003Cm:message xml:lang=\u0022en-US\u0022\u003EThe specified resource does not exist.\n",
"RequestId:5762cbe0-2002-0015-2e6b-c4666e000000\n",
"Time:2021-10-18T22:00:09.8110464Z\u003C/m:message\u003E\u003C/m:error\u003E"
"RequestId:ac2da47f-b002-00b2-6dee-601a51000000\n",
"Time:2022-05-06T02:09:08.7651498Z\u003C/m:message\u003E\u003C/m:error\u003E"
]
},
{
Expand All @@ -264,35 +261,31 @@
"RequestHeaders": {
"Accept": "application/xml",
"Accept-Encoding": "gzip, deflate",
"Authorization": "Sanitized",
"Connection": "keep-alive",
"Content-Length": "0",
"Content-Type": "application/xml",
"Date": "Mon, 18 Oct 2021 22:00:15 GMT",
"User-Agent": "azsdk-python-data-tables/12.1.1 Python/3.9.2 (Windows-10-10.0.19041-SP0)",
"x-ms-client-request-id": "c66cfd59-305e-11ec-b394-5cf37093a909",
"x-ms-date": "Mon, 18 Oct 2021 22:00:15 GMT",
"Date": "Fri, 06 May 2022 02:09:09 GMT",
"User-Agent": "azsdk-python-data-tables/12.4.0 Python/3.10.0 (Windows-10-10.0.22000-SP0)",
"x-ms-date": "Fri, 06 May 2022 02:09:09 GMT",
"x-ms-version": "2019-02-02"
},
"RequestBody": null,
"StatusCode": 404,
"ResponseHeaders": {
"Content-Length": "322",
"Content-Type": "application/xml",
"Date": "Mon, 18 Oct 2021 22:00:09 GMT",
"Date": "Fri, 06 May 2022 02:09:08 GMT",
"Server": [
"Windows-Azure-Table/1.0",
"Microsoft-HTTPAPI/2.0"
],
"x-ms-client-request-id": "c66cfd59-305e-11ec-b394-5cf37093a909",
"x-ms-error-code": "ResourceNotFound",
"x-ms-request-id": "5762cbe8-2002-0015-356b-c4666e000000",
"x-ms-version": "2019-02-02"
},
"ResponseBody": [
"\u003C?xml version=\u00221.0\u0022 encoding=\u0022utf-8\u0022?\u003E\u003Cm:error xmlns:m=\u0022http://schemas.microsoft.com/ado/2007/08/dataservices/metadata\u0022\u003E\u003Cm:code\u003EResourceNotFound\u003C/m:code\u003E\u003Cm:message xml:lang=\u0022en-US\u0022\u003EThe specified resource does not exist.\n",
"RequestId:5762cbe8-2002-0015-356b-c4666e000000\n",
"Time:2021-10-18T22:00:09.8290594Z\u003C/m:message\u003E\u003C/m:error\u003E"
"RequestId:ac2da484-b002-00b2-70ee-601a51000000\n",
"Time:2022-05-06T02:09:08.7811411Z\u003C/m:message\u003E\u003C/m:error\u003E"
]
}
],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@
"token_type": "Bearer",
"expires_in": 86399,
"ext_expires_in": 86399,
"access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6Ik1yNS1BVWliZkJpaTdOZDFqQmViYXhib1hXMCIsImtpZCI6Ik1yNS1BVWliZkJpaTdOZDFqQmViYXhib1hXMCJ9.eyJhdWQiOiJodHRwczovL3N0b3JhZ2UuYXp1cmUuY29tIiwiaXNzIjoiaHR0cHM6Ly9zdHMud2luZG93cy5uZXQvNzJmOTg4YmYtODZmMS00MWFmLTkxYWItMmQ3Y2QwMTFkYjQ3LyIsImlhdCI6MTYzOTAwODk5MCwibmJmIjoxNjM5MDA4OTkwLCJleHAiOjE2MzkwOTU2OTAsImFpbyI6IkUyWmdZSWdPYmIvU2RuRmU3clB0bFFXcjE2OHdCQUE9IiwiYXBwaWQiOiIyN2VlMTY3ZS05YzlkLTRiZGYtYjkzYy04YzgwOWU5YTIyNGUiLCJhcHBpZGFjciI6IjEiLCJpZHAiOiJodHRwczovL3N0cy53aW5kb3dzLm5ldC83MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDcvIiwib2lkIjoiNzQxZjM3NmUtZjlkZC00MDlkLWJiODMtZDU2YzU3OTY4ZGY3IiwicmgiOiIwLkFRRUF2NGo1Y3ZHR3IwR1JxeTE4MEJIYlIzNFc3aWVkbk45THVUeU1nSjZhSWs0YUFBQS4iLCJzdWIiOiI3NDFmMzc2ZS1mOWRkLTQwOWQtYmI4My1kNTZjNTc5NjhkZjciLCJ0aWQiOiI3MmY5ODhiZi04NmYxLTQxYWYtOTFhYi0yZDdjZDAxMWRiNDciLCJ1dGkiOiJlbnJGMXNyejdVaWZ5OFJmaDlxN0FBIiwidmVyIjoiMS4wIn0.Ujzxuodt-pwClDq-sEOgOHv5FxFLtiG1mEGmtoProAq9xJz7RLBN_aHehTCM54X6pUgbQTcXLUV4LlnT_GYCEXZwnHXqW2aGNjyoVfoZv6wTI8emjpJt-2eOjmVeIJzprQ7G3eCL6Ig6EftWBRPXvmWIbmhyt6uo_yJ5btLBOiA2-KV-5tPC42mKR--MOxcK7Hgs-hswIMkeBmNwzAt5Iu7G8w4PoO1cwuWSDJGCRBwWKZiZlPVZyYPLYbtndRD7R-tdJwklgs-FeT1NSTYkYQ2Lv2MrPOXgzUNEIhP_dmvE1dAoxrUl4Ss8h-uqcTjnsILivJF09in13IxDj2f0sA"
"access_token": "access_token"
}
},
{
Expand Down
Loading

0 comments on commit 867b91a

Please sign in to comment.