feat: add logging for JWT refresh and session management in Supabase security notebook
Deploy Function / deploy (push) Failing after 14s
Deploy Migrations to Production / deploy (push) Failing after 8s

This commit is contained in:
2026-03-02 14:13:28 -06:00
parent 99a6e28f42
commit d4ceac77a9
+131
View File
@@ -18,6 +18,14 @@
"});" "});"
] ]
}, },
{
"cell_type": "code",
"execution_count": null,
"id": "be47eac0",
"metadata": {},
"outputs": [],
"source": []
},
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": null, "execution_count": null,
@@ -91,6 +99,128 @@
"execution_count": 3, "execution_count": 3,
"metadata": {}, "metadata": {},
"output_type": "execute_result" "output_type": "execute_result"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"TOKEN_REFRESHED {\n",
" aal: \"aal1\",\n",
" amr: [ { method: \"password\", timestamp: 1772473271 } ],\n",
" app_metadata: { provider: \"email\", providers: [ \"email\" ] },\n",
" aud: \"authenticated\",\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" exp: 1772480381,\n",
" feature_x: true,\n",
" iat: 1772476781,\n",
" is_anonymous: false,\n",
" iss: \"http://127.0.0.1:54321/auth/v1\",\n",
" phone: \"\",\n",
" role: \"authenticated\",\n",
" session_id: \"f76f4ddf-e719-464b-b0ae-80a6b120efa4\",\n",
" sub: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" tenant_id: \"local-dev-tenant\",\n",
" user_metadata: { email_verified: true }\n",
"}\n",
"{\n",
" access_token: \"eyJhbGciOiJFUzI1NiIsImtpZCI6ImI4MTI2OWYxLTIxZDgtNGYyZS1iNzE5LWMyMjQwYTg0MGQ5MCIsInR5cCI6IkpXVCJ9.eyJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJwYXNzd29yZCIsInRpbWVzdGFtcCI6MTc3MjQ3MzI3MX1dLCJhcHBfbWV0YWRhdGEiOnsicHJvdmlkZXIiOiJlbWFpbCIsInByb3ZpZGVycyI6WyJlbWFpbCJdfSwiYXVkIjoiYXV0aGVudGljYXRlZCIsImVtYWlsIjoiZ3VpbGxlcm1vLmFycmlldGFAbGFzYWxsZS5teCIsImV4cCI6MTc3MjQ4MDM4MSwiZmVhdHVyZV94Ijp0cnVlLCJpYXQiOjE3NzI0NzY3ODEsImlzX2Fub255bW91cyI6ZmFsc2UsImlzcyI6Imh0dHA6Ly8xMjcuMC4wLjE6NTQzMjEvYXV0aC92MSIsInBob25lIjoiIiwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJzZXNzaW9uX2lkIjoiZjc2ZjRkZGYtZTcxOS00NjRiLWIwYWUtODBhNmIxMjBlZmE0Iiwic3ViIjoiOTVkMWYzODEtNzAyMy00ZjMzLWJjNTQtMDhjY2QwOGFiZjQxIiwidGVuYW50X2lkIjoibG9jYWwtZGV2LXRlbmFudCIsInVzZXJfbWV0YWRhdGEiOnsiZW1haWxfdmVyaWZpZWQiOnRydWV9fQ.28CQUM9O7Cn1DlbMsLLaN-19uDmEGC_NvLRL6S3-Z3ym3T5gQ5OXiJ6_NlyblMJfJOQdMo88uGRIAZt9PwkE6A\",\n",
" token_type: \"bearer\",\n",
" expires_in: 3600,\n",
" expires_at: 1772480381,\n",
" refresh_token: \"363vd67k2taw\",\n",
" user: {\n",
" id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" aud: \"authenticated\",\n",
" role: \"authenticated\",\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" email_confirmed_at: \"2026-01-13T14:54:39.096101Z\",\n",
" phone: \"\",\n",
" confirmed_at: \"2026-01-13T14:54:39.096101Z\",\n",
" last_sign_in_at: \"2026-03-02T17:41:10.986584Z\",\n",
" app_metadata: { provider: \"email\", providers: [ \"email\" ] },\n",
" user_metadata: { email_verified: true },\n",
" identities: [\n",
" {\n",
" identity_id: \"b2f3094d-a29b-42b5-be69-3397282ffcd7\",\n",
" id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" user_id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" identity_data: {\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" email_verified: false,\n",
" phone_verified: false,\n",
" sub: \"95d1f381-7023-4f33-bc54-08ccd08abf41\"\n",
" },\n",
" provider: \"email\",\n",
" last_sign_in_at: \"2026-01-13T14:54:39.085382Z\",\n",
" created_at: \"2026-01-13T14:54:39.08544Z\",\n",
" updated_at: \"2026-01-13T14:54:39.08544Z\",\n",
" email: \"guillermo.arrieta@lasalle.mx\"\n",
" }\n",
" ],\n",
" created_at: \"2026-01-13T14:54:39.081453Z\",\n",
" updated_at: \"2026-03-02T18:39:41.80176Z\",\n",
" is_anonymous: false\n",
" }\n",
"}\n",
"TOKEN_REFRESHED {\n",
" aal: \"aal1\",\n",
" amr: [ { method: \"password\", timestamp: 1772473271 } ],\n",
" app_metadata: { provider: \"email\", providers: [ \"email\" ] },\n",
" aud: \"authenticated\",\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" exp: 1772483893,\n",
" feature_x: true,\n",
" iat: 1772480293,\n",
" is_anonymous: false,\n",
" iss: \"http://127.0.0.1:54321/auth/v1\",\n",
" phone: \"\",\n",
" role: \"authenticated\",\n",
" session_id: \"f76f4ddf-e719-464b-b0ae-80a6b120efa4\",\n",
" sub: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" tenant_id: \"local-dev-tenant\",\n",
" user_metadata: { email_verified: true }\n",
"}\n",
"{\n",
" access_token: \"eyJhbGciOiJFUzI1NiIsImtpZCI6ImI4MTI2OWYxLTIxZDgtNGYyZS1iNzE5LWMyMjQwYTg0MGQ5MCIsInR5cCI6IkpXVCJ9.eyJhYWwiOiJhYWwxIiwiYW1yIjpbeyJtZXRob2QiOiJwYXNzd29yZCIsInRpbWVzdGFtcCI6MTc3MjQ3MzI3MX1dLCJhcHBfbWV0YWRhdGEiOnsicHJvdmlkZXIiOiJlbWFpbCIsInByb3ZpZGVycyI6WyJlbWFpbCJdfSwiYXVkIjoiYXV0aGVudGljYXRlZCIsImVtYWlsIjoiZ3VpbGxlcm1vLmFycmlldGFAbGFzYWxsZS5teCIsImV4cCI6MTc3MjQ4Mzg5MywiZmVhdHVyZV94Ijp0cnVlLCJpYXQiOjE3NzI0ODAyOTMsImlzX2Fub255bW91cyI6ZmFsc2UsImlzcyI6Imh0dHA6Ly8xMjcuMC4wLjE6NTQzMjEvYXV0aC92MSIsInBob25lIjoiIiwicm9sZSI6ImF1dGhlbnRpY2F0ZWQiLCJzZXNzaW9uX2lkIjoiZjc2ZjRkZGYtZTcxOS00NjRiLWIwYWUtODBhNmIxMjBlZmE0Iiwic3ViIjoiOTVkMWYzODEtNzAyMy00ZjMzLWJjNTQtMDhjY2QwOGFiZjQxIiwidGVuYW50X2lkIjoibG9jYWwtZGV2LXRlbmFudCIsInVzZXJfbWV0YWRhdGEiOnsiZW1haWxfdmVyaWZpZWQiOnRydWV9fQ.TUYrfJrHy3fwPwI4VD24oYunaNAehDMnJleKn_JQg5LHwBIqe422qlGkNXvhu7juknS-kcEjJ1MaXBAP4Cu_WQ\",\n",
" token_type: \"bearer\",\n",
" expires_in: 3600,\n",
" expires_at: 1772483893,\n",
" refresh_token: \"s35spp4fy6oe\",\n",
" user: {\n",
" id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" aud: \"authenticated\",\n",
" role: \"authenticated\",\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" email_confirmed_at: \"2026-01-13T14:54:39.096101Z\",\n",
" phone: \"\",\n",
" confirmed_at: \"2026-01-13T14:54:39.096101Z\",\n",
" last_sign_in_at: \"2026-03-02T17:41:10.986584Z\",\n",
" app_metadata: { provider: \"email\", providers: [ \"email\" ] },\n",
" user_metadata: { email_verified: true },\n",
" identities: [\n",
" {\n",
" identity_id: \"b2f3094d-a29b-42b5-be69-3397282ffcd7\",\n",
" id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" user_id: \"95d1f381-7023-4f33-bc54-08ccd08abf41\",\n",
" identity_data: {\n",
" email: \"guillermo.arrieta@lasalle.mx\",\n",
" email_verified: false,\n",
" phone_verified: false,\n",
" sub: \"95d1f381-7023-4f33-bc54-08ccd08abf41\"\n",
" },\n",
" provider: \"email\",\n",
" last_sign_in_at: \"2026-01-13T14:54:39.085382Z\",\n",
" created_at: \"2026-01-13T14:54:39.08544Z\",\n",
" updated_at: \"2026-01-13T14:54:39.08544Z\",\n",
" email: \"guillermo.arrieta@lasalle.mx\"\n",
" }\n",
" ],\n",
" created_at: \"2026-01-13T14:54:39.081453Z\",\n",
" updated_at: \"2026-03-02T19:38:13.130638Z\",\n",
" is_anonymous: false\n",
" }\n",
"}\n"
]
} }
], ],
"source": [ "source": [
@@ -102,6 +232,7 @@
" console.log(event, jwt);\n", " console.log(event, jwt);\n",
" // store in the session\n", " // store in the session\n",
" localStorage.setItem(\"jwt\", JSON.stringify(session));\n", " localStorage.setItem(\"jwt\", JSON.stringify(session));\n",
"\n",
" }\n", " }\n",
"});\n", "});\n",
"\n", "\n",