Andrew Schmelyun
Andrew Schmelyun
  • 80
  • 3 642 192
Go ahead, roll your own auth
Authentication doesn't have to be complicated or terrifying. It's a broad statement, but if you reach for a modern and maintained backend framework, you're in pretty safe hands. You don't need to reach (or pay) for third-party platforms just for some basic user authentication.
In this video, with the help of a backend framework (in this case, Laravel) and a couple open-source packages, you can have a full user authentication and management platform up and running in minutes.
From here you can keep it lightweight and have just a thin API which handles user sign-ins and registration, or you can expand on it and add a full user management dashboard or even tie pieces of your data to this. It is a backend framework after all! What do you think?
Of course this isn't without downsides, you'll have to maintain the software (and hardware, depending on your deployment) that you put out in the world. However, ownership over your user's data and no surprise pricing or tier changes can be pretty great.
Interested in learning how to build real-world practical apps with Laravel and PHP? Check out my latest course at selfmadesaas.com!
Some helpful links:
laravel.com
devdojo.com/auth
github.com/laravel/sanctum
- 0:00 Intro
- 0:55 Security risks
- 2:08 Complex or complicated
- 5:16 Expensive to run
- 7:28 What are the downsides?
- 8:32 Wrapping Up
Send me new video ideas and vote on what's coming next: suggest.gg/aschmelyun
Follow me on Twitter! aschmelyun
Join my newsletter, where I send out new information about twice a month in the PHP, JavaScript, and Docker realms: aschmelyun.substack.com
Переглядів: 2 241

Відео

How I use AI as a software engineer
Переглядів 1,5 тис.Місяць тому
Sign up for alerts about new courses, practical tutorials, and helpful articles at aschmelyun.substack.com Once I started integrating AI tools into my day-to-day workflow, I noticed a pretty decent uptick in my overall productivity. It's not just coding, either! I use AI to troubleshoot complicated issues, or learn new languages and frameworks. In this video, I show you all of the ways that I'v...
You don't need a frontend framework
Переглядів 122 тис.3 місяці тому
Sometimes I feel that web development has gotten pretty complicated. Fairly straightforward applications are split apart with their frontends powered by behemoth frameworks like React, Next, or Nuxt. But, it doesn't have to be that way. In this video, I show how a basic backend framework (in this case, Laravel) with its templating language, can have full-stack applications built around the engi...
Serverless PHP is pretty good
Переглядів 7 тис.4 місяці тому
The serverless architecture and platforms like AWS Lambda have revolutionized the ease of hosting and maintaining web applications, but most lack support for PHP. In this video, I use a package called Bref, which helps scaffold out configurations for the serverless framework and provides a custom runtime in order to deploy PHP applications to AWS Lambda instances. The result? Zero-downtime depl...
Modern monoliths: SPA and API in a single codebase
Переглядів 4,6 тис.7 місяців тому
Inertia.js is a library that promises single page applications without needing a separate API. But how accurate is that statement? In this video, I go over the current landscape of fullstack apps, and what a modern example built with Laravel and Next.js looks like. Then, we take a peek at the same example using Inertia.js, dive into how it works, and get a feel for what the development experien...
Improving Tailwind by doing these 3 things
Переглядів 3 тис.10 місяців тому
Tailwind CSS is a utility-first library that's had some pretty extreme opinions since it was initially released over 5 years ago. In this video, I give a basic overview of what Tailwind CSS is and how it can improve your productivity as a developer. I also talk about what pitfalls are commonly mentioned during discussions about Tailwind and how you can remedy those in your own applications. If ...
Let's create a filter table component in Vue
Переглядів 24 тис.11 місяців тому
A plain table element displaying your data in Vue is pretty boring, let's make it more dynamic! In this video, we'll use computed properties, events, fetch requests, and emits to build out a component that acts like a filter and search table with Vue 3 and the Composition API. By the end of the video, we'll be able to search through a data set with text, select based on radio button options, or...
Can we use Laravel as a Next.js alternative?
Переглядів 17 тис.11 місяців тому
Can we use Laravel as a Next.js alternative?
I built a pizza tracker with Laravel, React, and Inertia | Full Stack Tutorial
Переглядів 36 тис.Рік тому
I built a pizza tracker with Laravel, React, and Inertia | Full Stack Tutorial
When to use Traits, Interfaces, and Abstract Classes in PHP
Переглядів 20 тис.Рік тому
When to use Traits, Interfaces, and Abstract Classes in PHP
A few different ways to seed databases in Laravel
Переглядів 3,8 тис.Рік тому
A few different ways to seed databases in Laravel
Running PHP with... JavaScript?!
Переглядів 6 тис.Рік тому
Running PHP with... JavaScript?!
Deploy Laravel applications fast and cheap
Переглядів 24 тис.Рік тому
Deploy Laravel applications fast and cheap
Saloon - A PHP package to simplify API integrations
Переглядів 9 тис.Рік тому
Saloon - A PHP package to simplify API integrations
Build A Ride Share App: Full Stack Tutorial with Laravel and Vue
Переглядів 70 тис.Рік тому
Build A Ride Share App: Full Stack Tutorial with Laravel and Vue
Using single action controllers in Laravel
Переглядів 9 тис.Рік тому
Using single action controllers in Laravel
Writing declarative PHP
Переглядів 8 тис.Рік тому
Writing declarative PHP
Manage multiple sites with Docker Compose and Traefik
Переглядів 47 тис.Рік тому
Manage multiple sites with Docker Compose and Traefik
Laravel Passport vs Sanctum: What's the difference?
Переглядів 16 тис.Рік тому
Laravel Passport vs Sanctum: What's the difference?
Using Docker Containers with GitHub Actions
Переглядів 37 тис.Рік тому
Using Docker Containers with GitHub Actions
I built r/place with PHP and JavaScript in one hour
Переглядів 9 тис.2 роки тому
I built r/place with PHP and JavaScript in one hour
Converting a Vue component to the Composition API
Переглядів 6 тис.2 роки тому
Converting a Vue component to the Composition API
Get started with Laravel events and listeners
Переглядів 19 тис.2 роки тому
Get started with Laravel events and listeners
How to use soft deletes in Laravel
Переглядів 7 тис.2 роки тому
How to use soft deletes in Laravel
Building a job board in Laravel [Pt. 1] - Models + Migrations
Переглядів 22 тис.3 роки тому
Building a job board in Laravel [Pt. 1] - Models Migrations
Building a job board in Laravel [Pt. 6] - Purchase A Listing
Переглядів 5 тис.3 роки тому
Building a job board in Laravel [Pt. 6] - Purchase A Listing
Building a job board in Laravel [Pt. 2] - Database Seeding
Переглядів 6 тис.3 роки тому
Building a job board in Laravel [Pt. 2] - Database Seeding
Building a job board in Laravel [Pt. 5] - The Listing Page
Переглядів 4,1 тис.3 роки тому
Building a job board in Laravel [Pt. 5] - The Listing Page
Building a job board in Laravel [Pt. 4] - The Front Page
Переглядів 6 тис.3 роки тому
Building a job board in Laravel [Pt. 4] - The Front Page
Building a job board in Laravel [Pt. 3] - Install Dependencies
Переглядів 4,6 тис.3 роки тому
Building a job board in Laravel [Pt. 3] - Install Dependencies

КОМЕНТАРІ

  • @sylvain351
    @sylvain351 22 години тому

    Thank you. But If I can make à comment. Write code without any test in 2024 :-(

  • @dovh49
    @dovh49 День тому

    I use an HTMX-like library that is smaller that I created and use it to create offline-first web applications (PWAs). It's worked out pretty well for me and is pretty fast and straight forward to get apps going.

  • @C4CH3S
    @C4CH3S День тому

    I'm gonna be honest, Auth from scratch really isn't that hard.

  • @benve7151
    @benve7151 День тому

    Incredible explanation. Sub

  • @ijasdeen3809
    @ijasdeen3809 День тому

    People who said php would be dead in 2010 are actually dead now.

  • @mgksmv
    @mgksmv День тому

    Why Twilio? I can't even do anything with it with a trial account.

  • @Patrick-et2bq
    @Patrick-et2bq День тому

    Great video, thank you so much. I have been putting off looking into reverse proxies for a while because I was afraid it would be a daunting task; this made it very approachable.

  • @TheMemeEngineer
    @TheMemeEngineer День тому

    What about the advantages of reactive programming when working with user interfaces?

  • @cb73
    @cb73 День тому

    Are you really “rolling your own” if you’re using a batteries included framework? Don’t get me wrong, I do not ever want to build an app that has my user data separated at a 3rd party. One where I have to depend on webhooks to keep it in sync

  • @arshansheikh7324
    @arshansheikh7324 День тому

    Respect. Hiesenberg

  • @Ethan_404
    @Ethan_404 День тому

    sir, I would like to learn your the frontend codebase. would you like to share your codebase, sir?

  • @thelittleerik4806
    @thelittleerik4806 2 дні тому

    "oh you know auth?" "list 10 auth libraries 🔫"

  • @nls-io
    @nls-io 2 дні тому

    Thank you Andrew! That is indeed my stack of choice. You also have JS package that wrap the sanctum call directly in your front end app so the login screens are indeed managed by next or whatever you are using. I would say that the main downside is security. You touched on the maintenance which is linked to that but you also need to make sure that your VPS is well secured. You can always use Cloud applications platforms like Heroku, Render or Upsun to mitigate this.

    • @aschmelyun
      @aschmelyun 2 дні тому

      100% to all your points. Forgot to touch on security of the actual server itself but yeah that's probably one of the biggest things to consider going this path!

  • @habib08m
    @habib08m 2 дні тому

    Only newbies with zero work experience argue about languages and frameworks.

  • @saydfuad6914
    @saydfuad6914 2 дні тому

    Nice 👍

  • @davecoder7118
    @davecoder7118 2 дні тому

    Uhh, why do you need to run it asynchronously? It's already faster synchronously. Different tools for different needs.

  • @adityag6022
    @adityag6022 3 дні тому

    Thank you sir

  • @eyyyyd
    @eyyyyd 3 дні тому

    What streaming software are you using for this?

  • @mpiloz8016
    @mpiloz8016 4 дні тому

    I only need them because they're in job specs 😂😂

  • @nikitaliakhovka3489
    @nikitaliakhovka3489 4 дні тому

    const sum = items.reduce((acc,{price}) => acc + price,0)

  • @MrLinuxFreak
    @MrLinuxFreak 6 днів тому

    everything slow before optimization

  • @Gerrymon
    @Gerrymon 6 днів тому

    Me ex Java-JSP dev see the title ha ha ha yeah sure

  • @yassinees-sofyani6098
    @yassinees-sofyani6098 7 днів тому

    60s of misconceptions about docker

  • @yassinees-sofyani6098
    @yassinees-sofyani6098 7 днів тому

    "That takes up a lot of hard drive space" ?!😔 That would be the least of your concerns if any at all

  • @george-harder
    @george-harder 7 днів тому

    php is not slow. php is UGLY. that's the problem.

  • @msk0036
    @msk0036 8 днів тому

    0% Lube, 0% foam, 100% mechanical❤

  • @jovicastojanovski8640
    @jovicastojanovski8640 8 днів тому

    Great project! Please share more details about the code and the smart plug that you are using. I would like to turn this one into a humidistat (humidity controller).

  • @fastasFK03
    @fastasFK03 9 днів тому

    should i start learning php or continue with js ?

  • @ahmed_attia
    @ahmed_attia 10 днів тому

    I rarely comment on a video, but u just earned a new subscriber, very good content

  • @SiegertNaber
    @SiegertNaber 11 днів тому

    Awesome. Just what I needed! Very clear explanations. 👌 Any ETA on the "v-model" refactoring video? And do you have this code in a repository somewhere?

  • @yash1152
    @yash1152 11 днів тому

    0:05 inaudible - disliked yeah, it's inaudible even with earphones. disliked 3 times. 0:43 the video is otherwise nice.

  • @suvradiproy1946
    @suvradiproy1946 12 днів тому

    Excellent Video, thanks a lot!

  • @HomeAutoBuddy
    @HomeAutoBuddy 12 днів тому

    As you already stated that "you can absolutely write things down" but instead got a thermal printer - as did I. But i can't configure CUPS with Munbyn Thermal Printer ITPP098, mostly it "thinks" it's a full, color, printer and that's not the case. I got the correct ppd file from the manufacturer but still - life is boring and sad! Most thankful for any help.

  • @freeideas
    @freeideas 13 днів тому

    I also don't use any front-end frameworks. Plain old javascript fetching and posting data (not HTML) from a server-side REST API seems to work great, as far as I can tell. I find it much simpler to keep all my "look-and-feel" stuff in static html/js/css files, and my server-side just passes data back and forth from the database (or other data source) with security. If I want to make a change in the way things look, i can just edit my static front-end files, and my server-side doesn't need to know or care.

  • @expatcentral
    @expatcentral 13 днів тому

    Great video. Thanks for creating this content. Very well explained

  • @davidntumba2447
    @davidntumba2447 15 днів тому

    Php got swooled 💪

  • @copaceticobserver
    @copaceticobserver 16 днів тому

    You should definitely make a course man

  • @raminkarimi8526
    @raminkarimi8526 16 днів тому

    😂😂😂

  • @Stoney_Eagle
    @Stoney_Eagle 16 днів тому

    Haha

  • @nixonsampson8645
    @nixonsampson8645 17 днів тому

    😂😂 didn't expect this, looks great tho

  • @Stuck.in.Matrix
    @Stuck.in.Matrix 17 днів тому

    😂

  • @notpowder5831
    @notpowder5831 19 днів тому

    quick, to the point in the beginning for fast understanding, more detailed section for each point, best tutorial ever, sub this man rn

  • @MichaelOlukaka-i1c
    @MichaelOlukaka-i1c 20 днів тому

    Was stuck deploying a laravel app on cpanel for 2 days...with your solution did it within 10mins. Thanks

  • @ivanc.6064
    @ivanc.6064 20 днів тому

    Storage::disk('s3')->setVisibility($filePath, 'public'); returns with false

    • @ivanc.6064
      @ivanc.6064 20 днів тому

      in the bucket permissions under "Object Ownership" enable acl

  • @hikari1690
    @hikari1690 22 дні тому

    Impossible! How did you exit from vim?!

  • @abandonedcrack
    @abandonedcrack 23 дні тому

    C is compiled, and rust:)

  • @Dr_Speedy
    @Dr_Speedy 23 дні тому

    If you utilize opcache its not slow, however you should have a split environment anyway. php on back, js spa on front. have the back manipulate the index for seo and stuff

  • @Luca-no3do
    @Luca-no3do 23 дні тому

    Amazing video Andrew ! Thanks for sharing

  • @TasCashGr
    @TasCashGr 23 дні тому

    You: why do we call them pointers? PHP: cause you place your pointer finger on the screen if you want to count them $

  • @Ex_Arc
    @Ex_Arc 23 дні тому

    That font just threw me off lmfaooo wtf