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",
|
||||
"execution_count": null,
|
||||
@@ -91,6 +99,128 @@
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"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": [
|
||||
@@ -102,6 +232,7 @@
|
||||
" console.log(event, jwt);\n",
|
||||
" // store in the session\n",
|
||||
" localStorage.setItem(\"jwt\", JSON.stringify(session));\n",
|
||||
"\n",
|
||||
" }\n",
|
||||
"});\n",
|
||||
"\n",
|
||||
|
||||
Reference in New Issue
Block a user