π Symfony Security: Going Further #12
Want stronger passwords - and a way to reject any that have already leaked in a data breach? Symfony ships a constraint for each, and we'll bundle them into one reusable constraint of our own! symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #11
Need a change password form? Let's reuse the one the reset password maker already wrote for us, then ask for the current password too - with a very cool built-in constraint! symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #19
I want our Symfony app to be *incredible*. And so, we're going to use Turbo and instantly transform it into a single page app (SPA) experience. This is one of our most impactful 5 minute videos!
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #10
Need a forgot password flow? There's a maker for that! Let's generate the whole thing, log the user in automatically after a reset, and see how it avoids leaking who has an account! symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #18
We're going to make our new Symfony app much more awesome by introducing my absolute favorite JavaScript tool: Stimulus. With about 10 lines of code, we'll have an animated, closeable sidebar that *always* works.
symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #17
We're well on our way to building a beautiful Symfony app and today, we finish making the design dynamic! But we're also writing code that's clean & understandable. And we'll add "smart model methods" towards this goal.
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #9
Let's swap the built-in switch_user role for a custom attribute, let a voter make the call, & see how to check the permissions of any user - not just the one logged in. And, now our admins can't impersonate each other! symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #16
Let's tighten up our growing Symfony app with an enum to track starship repair status! Enums are almost as much fun as space tutorials πΈ
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #8
Let's give users the choice to log in with their email or username! We'll add unique usernames, update our login form, and teach Symfony how to find users by either one. symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #15
Short but sweet! In 2.5 minutes, we'll organize Twig code into a template partial and start breathing dynamic life into our design with a Twig for loop!
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #7
After logging in, users should return to the page they were on, not the homepage! Let's use Symfony's _target_path to send them right back where they left off, making the login experience a little smoother! symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #14
Our new Symfony site deserves to look *great*. Let's hook that up with Tailwind CSS courtesy of the excellent bundle from those nice folks over at Symfonycasts π. I *love* how much fun this is!
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #6
Need a super admin who can do (almost) anything? Let's build a custom voter that grants sweeping permissions across our app, while making sure important authentication checks still behave normally! symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #5
Ever notice how GitHub asks you to confirm your password before sensitive actions? Let's build that same "sudo mode" in Symfony, requiring full authentication with a smooth password confirmation flow! symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #13
It's part 13 of our Cosmic Coding with Symfony and we get to try out one of my *favorite* parts! Asset Mapper is *the* tool for building a modern CSS & JS frontend without the fuss of a build system. It's time to make our site shine!
symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #12
We're making all sorts of pages in our new Symfony app. So for part 12, let's start linking them together! The secret is that every route already has an internal name and we can use it to generate URLs.
symfonycasts.com/screencast/β¦
Rewind βͺ Cosmic Coding with Symfony #11
We can fine-tune the routes in our Symfony app in tons of cool ways: route {wildcards}, requirements, HTTP methods, etc! We'll use this to create another API endpoint and continue building our app with clean architecture.
symfonycasts.com/screencast/β¦
π Symfony Security: Going Further #4
Wrong password, unknown email, disabled account... your login form answers all three with "Invalid credentials." That's deliberate. Let's decide how much we actually want to give away. symfonycasts.com/screencast/β¦
Symfony Cache Contracts have a sneaky little trick π
Use `beta: INF` to force-refresh a cached value without deleting the old one first - so other requests can keep using it while the fresh value is computed.
See how it works π
symfonycasts.com/blog/symfonβ¦
π Symfony Security: Going Further #3
Disabling an account blocks the next login... but a user already browsing doesn't even notice. Let's show them the door mid-click. π symfonycasts.com/screencast/β¦









