{"type":"video","version":"1.0","html":"<iframe src=\"https://www.loom.com/embed/2a9156bf1ccc4d2e968a229aa6bdab89\" frameborder=\"0\" width=\"1726\" height=\"1294\" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>","height":1294,"width":1726,"provider_name":"Loom","provider_url":"https://www.loom.com","thumbnail_height":1294,"thumbnail_width":1726,"thumbnail_url":"https://cdn.loom.com/sessions/thumbnails/2a9156bf1ccc4d2e968a229aa6bdab89-841744f9abd4ef78.gif","duration":1596.531,"title":"Running Friends, OAuth, JWT, and Testing","description":"This Loom walks through how the Running Friends app implements social authentication using JWT plus OAuth with Google. Mio Sufian demonstrates the website UI including login with email and password or “Continue with Google,” a feed where users can pause, update run titles and content, add images, and mark posts as public or friends-only. He explains the Google OAuth flow with Supabase, storing the returned access token in local storage, and how the database uses optional columns for Google user ID (SOPA based) and JWT password hash. He also covers related challenges like configuring multiple services (Google Cloud, Supabase, Railway), testing login routes, uploading images to SupabaseBucket with a 2 megabyte limit, and a debugging bug tied to environment port handling that was resolved by adjusting the port setting."}