feat: add logging for JWT refresh and session management in Supabase security notebook
This commit is contained in:
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user