Tanya WebDev
Tanya WebDev
  • Видео 165
  • Просмотров 116 798
Understanding Refresh tokens in JWT Authentication | How they work and improve security
In this video, I break down the concept of refresh tokens in authentication systems. Learn how access tokens and refresh tokens work together to keep users logged in without repeatedly entering their credentials. I'll explain how refresh tokens are issued, how they refresh expired access tokens, and the security mechanisms such as token rotation and revocation that ensure your system remains secure. If you're implementing JWT authentication and want to improve your API security, this video is for you!
💡 You can support the channel on Patreon: www.patreon.com/tatyana_WebDev
⭐️ Tutorial Contents ⭐️
◆ (00:00) Let's start
◆ (00:27) What is Refresh token?
◆ (00:48) How Refresh token system works?
◇...
Просмотров: 29

Видео

How to implement Refresh token | Symfony 7 JWT Authentication tutorial
Просмотров 10821 день назад
In this video, we'll walk through how to set up refresh tokens for your Symfony 7 project using JWT Authentication. Learn how to generate access tokens and refresh tokens, configure them in your application, and secure your API with JWT. We cover the installation of necessary packages, configuration steps, route setup, and token expiration. Additionally, I’ll demonstrate how to update tokens us...
JWT Authentication in Symfony 7 API Platform | Step-by-Step Guide
Просмотров 19321 день назад
In this tutorial, learn how to integrate JWT authentication into your API built with API Platform and Symfony. Watch as we guide you through setting up secure authentication using the LexikJWTAuthenticationBundle, configuring your app to handle login requests, and implementing token-based access. You'll also see how to test the JWT authentication directly through Swagger UI and ensure proper ac...
Dependency Injection (DI) in Symfony: understanding the Service container and managing services
Просмотров 185Месяц назад
In this video, we dive into the concept of Dependency Injection in Symfony. We'll explore how the service container works, how to register and use services, and discuss the main methods of handling dependencies. We'll cover autowiring and autoconfiguration, as well as cases where manual service registration is necessary. This video will be useful for both beginners and experienced Symfony devel...
Symfony 6 Email microservice - creating custom Argument Resolver
Просмотров 2728 месяцев назад
Symfony 6 Email microservice - creating custom Argument Resolver
Symfony 6 Email microservice - Templated Email | Mail Catcher
Просмотров 1949 месяцев назад
Symfony 6 Email microservice - Templated Email | Mail Catcher
Symfony 6 Microservice - Pub-Sub/ Command patterns | Queues (Messenger & RabbitMQ) | Data validation
Просмотров 497Год назад
Symfony 6 Microservice - Pub-Sub/ Command patterns | Queues (Messenger & RabbitMQ) | Data validation
Symfony 6 Microservice in DDD style - Sending Emails via Mailer Bundle (Gmail & Amazon SES)
Просмотров 885Год назад
Symfony 6 Microservice in DDD style - Sending Emails via Mailer Bundle (Gmail & Amazon SES)
Symfony 6 - Localization of Forms and Validation
Просмотров 462Год назад
Symfony 6 - Localization of Forms and Validation
Symfony 6 - Translation tutorial / Translation bundle
Просмотров 2,1 тыс.Год назад
Symfony 6 - Translation tutorial / Translation bundle
TOP 9 terminal commands for Debugging Symfony 6 App
Просмотров 743Год назад
TOP 9 terminal commands for Debugging Symfony 6 App
Symfony 6 & Custom Bundle - tutorial how to create (best practices)
Просмотров 6 тыс.Год назад
Symfony 6 & Custom Bundle - tutorial how to create (best practices)
JWT FAQ - What is this? How does it work? What does it consist of?
Просмотров 85Год назад
JWT FAQ - What is this? How does it work? What does it consist of?
Symfony 6 & JWT Authentication tutorial for beginners
Просмотров 3 тыс.Год назад
Symfony 6 & JWT Authentication tutorial for beginners
Symfony 6 & PHPUnit - Application tests tutorial (Part 1)
Просмотров 1,7 тыс.Год назад
Symfony 6 & PHPUnit - Application tests tutorial (Part 1)
PHPUnit - Stubs vs Mocks (difference and examples how to use)
Просмотров 687Год назад
PHPUnit - Stubs vs Mocks (difference and examples how to use)
How I pass LinkedIn's PHP Assessment Test in 2023? Top 5% result
Просмотров 466Год назад
How I pass LinkedIn's PHP Assessment Test in 2023? Top 5% result
Symfony 6 & PHPUnit - Unit & Integration tests tutorial
Просмотров 3,1 тыс.Год назад
Symfony 6 & PHPUnit - Unit & Integration tests tutorial
Symfony 6 - How to manage JS in Symfony app using Webpack?
Просмотров 484Год назад
Symfony 6 - How to manage JS in Symfony app using Webpack?
Symfony 6 - How to install and integrate Bootstrap CSS & JS using Webpack Encore?
Просмотров 3,9 тыс.Год назад
Symfony 6 - How to install and integrate Bootstrap CSS & JS using Webpack Encore?
Symfony 6 - How to manage CSS in Symfony app using Webpack?
Просмотров 452Год назад
Symfony 6 - How to manage CSS in Symfony app using Webpack?
Symfony 6 - Configuring Webpack Encore
Просмотров 589Год назад
Symfony 6 - Configuring Webpack Encore
Symfony 6 - How to install Webpack Encore?
Просмотров 679Год назад
Symfony 6 - How to install Webpack Encore?
Symfony 6 - What is Webpack & Webpack Encore?
Просмотров 1,2 тыс.Год назад
Symfony 6 - What is Webpack & Webpack Encore?
Symfony 6 - Webpack Encore (managing CSS and JS)
Просмотров 687Год назад
Symfony 6 - Webpack Encore (managing CSS and JS)
How to install Node.js & NPM in Linux Ubuntu 22.04 LTS
Просмотров 432Год назад
How to install Node.js & NPM in Linux Ubuntu 22.04 LTS
Symfony 6 - Security bundle: registration, pass hashing, login, logout, access control
Просмотров 2,2 тыс.Год назад
Symfony 6 - Security bundle: registration, pass hashing, login, logout, access control
Symfony 6 - Twig template namespaces or how to store Twig templates in a non-default folder
Просмотров 2832 года назад
Symfony 6 - Twig template namespaces or how to store Twig templates in a non-default folder
Symfony 6 - Template inheritance and layouts
Просмотров 3092 года назад
Symfony 6 - Template inheritance and layouts
Symfony 6 - How to embed in a Twig template the result of executing some Controller?
Просмотров 4252 года назад
Symfony 6 - How to embed in a Twig template the result of executing some Controller?

Комментарии

  • @GreyDeathVaccine
    @GreyDeathVaccine 22 часа назад

    I find subtitles inadequate and confusing.

  • @SJ-ci8oi
    @SJ-ci8oi 6 дней назад

    Thanks for the comprehensive video!

  • @valentinemurnik4424
    @valentinemurnik4424 11 дней назад

    Дякую, другий і третій приклад дуже корисні :)

  • @pavlenkoevgeniy4836
    @pavlenkoevgeniy4836 13 дней назад

    Спасибо!! 🎉🎉🎉

  • @destroyd737
    @destroyd737 13 дней назад

    Where is auth controller on video? I have error message Unable to find the controller for path "/api/login/login_check". The route is wrongly configured.

    • @tanyawebdev
      @tanyawebdev 13 дней назад

      This route does not require a controller because it is automatically handled by LexikJWTAuthenticationBundle. You have some issue with settings.

    • @destroyd737
      @destroyd737 7 дней назад

      @@tanyawebdev thank you, Tatiyana ;)

  • @bdlaef
    @bdlaef 13 дней назад

    Nice

  • @MoizArshad97
    @MoizArshad97 23 дня назад

    Well Explained.

  • @casa25ricaute18
    @casa25ricaute18 Месяц назад

    Hi from Colombia...

  • @MoizArshad97
    @MoizArshad97 Месяц назад

    Very good explain

  • @expresscoding3525
    @expresscoding3525 Месяц назад

    Please make video on access token including refresh token ( API Platform ), and also video on "reset password" in Symfony application

  • @bernard-ng
    @bernard-ng Месяц назад

    Happy to see back, as always great content, thanks for sharing

  • @digitaluniverse9826
    @digitaluniverse9826 Месяц назад

    Amazing content💯

  • @DavidExpósito-t2q
    @DavidExpósito-t2q Месяц назад

    The most useful video I found to connect PostgreSQL service. We must be aware that the url for env DATABASE_URL is not localhost but the name of the service. Thank you for this video and for your help.

  • @antara312
    @antara312 2 месяца назад

    Isolation which level of prevention

  • @SiphoMkhwanazi
    @SiphoMkhwanazi 2 месяца назад

    Great video, I love your explanation. I am creating plugins for Sylius e-commerce.

  • @cesarantonioquispemamani3090
    @cesarantonioquispemamani3090 3 месяца назад

    BUenos dias pedirle donde puedo ver la serializacion hacia un json ya que en el ejemplo se deja pendiente porque solo se ve array vacioa gracias

  • @petrumarian6491
    @petrumarian6491 3 месяца назад

    The material you present is thoroughly explained with plenty of good examples, but that music is such a TERRIBLE annoyance.

  • @scheidegg
    @scheidegg 3 месяца назад

    No repo?

  • @hbx4448
    @hbx4448 3 месяца назад

    Thank you for the lesson, how do we delete the message after 5 seconds ?

  • @surajnirmal391
    @surajnirmal391 3 месяца назад

    Great tutorial

  • @duartecancela
    @duartecancela 4 месяца назад

    My bootstrap modal window doesn't pop up. I follow all yours steps, I'm using symfony 7, any suggestions?

    • @joanrq
      @joanrq Месяц назад

      Maybe ther's something else on your project. Starting on a blank project with PHP8.3 & Symfony 7.1, and another older upgraded from7.1 to 7.2 it has ben working for me. I had to remove symfony/asset-mapper (so I can't use {{ asset('...') }} on templates ) but It's working for me...

  • @duartecancela
    @duartecancela 4 месяца назад

    Thank you very much 🙏

  • @judahwilson6756
    @judahwilson6756 4 месяца назад

    thumbs up for the music specifically

  • @cesarantonioquispemamani3090
    @cesarantonioquispemamani3090 4 месяца назад

    buenas noches trabajo con datatables en symfony

  • @arkajyotidas2546
    @arkajyotidas2546 5 месяцев назад

    microphone is very bad

  • @parijke
    @parijke 6 месяцев назад

    There is a consideration when using ICU file format. This changes the file name, as well as the format of variables

  • @kingtyphoon
    @kingtyphoon 6 месяцев назад

    Awesome video!

  • @onewane3512
    @onewane3512 6 месяцев назад

    i'd have this probleme when i run: docker-compose up -d Error starting userland proxy: listen tcp4 0.0.0.0:80: bind: address already in use. i found the solution by running:: docker run -d -p 8080:80 docker/getting-started

  • @dirkkuijer8440
    @dirkkuijer8440 6 месяцев назад

    I have a challenge: Why is it that my apache server wants everything served in the html directory? I want it to be the same as the public directory as Symfony has. Why is it going to html when i also use a conf file for apache? Is set the documentroot at var/www/html/public to try. You use also very nice music in your video! Very calming 🙂

  • @EgorDemeshko
    @EgorDemeshko 7 месяцев назад

    спасибо, но мне кажется эффективнее было на русском сделать) тем более в русском сегменте и конкурентов бы не было)

    • @EgorDemeshko
      @EgorDemeshko 7 месяцев назад

      тоесть автоматически айди не задаются? не понимаю зачем тогда все эти аннотации связей.

  • @frew.legese
    @frew.legese 8 месяцев назад

    This video helped me a lot Thanks Tanya

  • @LorenzoSequi
    @LorenzoSequi 8 месяцев назад

    Hi Tania, did you plan to publish the second part of this test tutorial? It's very well done and clear, you explain things very well! I'm beginning knowing tests and I'm willing to know how to test a controller action (typically a route as in your tutorial) that uses some services or call some controller methods... Thank you!

  • @swanthonam
    @swanthonam 8 месяцев назад

    Great work! We'd love to see more. If you're able, could you create videos about microservice architecture in Symfony? These videos could cover securing RESTful communication between services, Data Transfer Objects (DTOs), and other key considerations.

  • @willembielefeld712
    @willembielefeld712 8 месяцев назад

    I see you are using bootstrap as well. For me the error messages won't be shown. Maybe it is because I am using the forms in Modals, but I thinkt it should work hmm. You don't use Ajax to display the error messages do you? In the dev tool bar it shows that it works. When i check the controller error, the validator exactly shows my message. So everything works, except that the message won't be displayed in the form

    • @tanyawebdev
      @tanyawebdev 8 месяцев назад

      Validation errors in a Bootstrap modal window won't automatically appear the same way as on a regular page. This is due to the specific structure and styles of modal windows. Why? ✓ A Bootstrap modal window is a separate DOM element that overlays the main page content. ✓ Validation errors generated by Symfony are usually displayed next to the corresponding form fields on the page. ✓ Within the modal window, these elements might be hidden by other elements or styles.

    • @willembielefeld712
      @willembielefeld712 8 месяцев назад

      @@tanyawebdev Thx for the info. I researched alot about this topic today and it looks like bypassing with ajax seems to be the only way, if you use modals. That's sad, I really like how easy it is for standard forms.

  • @solvex8304
    @solvex8304 8 месяцев назад

    А в чём отличия между ValueResolver и ArgumentResolver?

    • @tanyawebdev
      @tanyawebdev 8 месяцев назад

      In Symfony, "argument resolver" and "value resolver" are typically used in different contexts. "Argument resolver" is applied in the context of handling controller arguments during the execution of a request, while "value resolver" might be used to resolve values in other scenarios, such as dependency injection. Thus, although both can perform a similar value resolution function, they are usually applied in different situations within Symfony.

    • @solvex8304
      @solvex8304 8 месяцев назад

      @@tanyawebdev Спасибо! Хотелось бы посмотреть видео с Argument resolver.

    • @tanyawebdev
      @tanyawebdev 8 месяцев назад

      @@solvex8304 This video is about Argument resolvers. There might be some confusion because I named the resolvers with the "ValueResolver" prefix. However, in Symfony, the term "value resolver" is commonly used for built-in argument resolvers. It follows a standard convention in Symfony, highlighting their main purpose - resolving values in the context of handling controller arguments.

    • @solvex8304
      @solvex8304 8 месяцев назад

      ​@@tanyawebdev Я имел ввиду, что иногда в методах контроллеров вижу что-то типа #[ValueResolver(TaskArgumentValueResolver::class)] Task $task или #[ValueResolver(UserIdArgumentValueResolver::class)] UserId $userId. Что это такое, для чего нужно?

    • @tanyawebdev
      @tanyawebdev 8 месяцев назад

      @@solvex8304 Sorry for late reply! :) In the examples you provided annotations are used to explicitly define the resolvers that should be applied to specific method arguments in a Controller. What does it mean? Symfony has many built-in resolvers that can handle different types of arguments (e.g., Request, User, DateTime). The ValueResolver annotation allows you to override the default mechanism and specify exactly which resolver should be used for a particular argument. Why is it useful? ✓ Increased flexibility. You can create custom resolvers to handle non-standard arguments or implement complex value retrieval logic. ✓ Improved readability. Explicitly specifying resolvers makes the code more understandable and transparent. ✓ Decoupling of logic. Resolvers separate the value retrieval logic from the controller logic, making the code more modular and testable.

  • @morinYakob
    @morinYakob 9 месяцев назад

    Отвратительно смонтировано, особенно касательно этих вставок а-ля рок. Уровень громкости голоса один, а музыки гораздо выше. Зачем так делать, зачем вообще нужны эти вставки, это только отвлекает. И так в каждом ролике, что то немного сказать невнятное на ломанном инглише и потом бахнуть музычку в уши. И все быстро, быстро.

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Thanks for your feedback. I'll keep this in mind.

  • @Setorrs
    @Setorrs 9 месяцев назад

    The music is too loud and made me stop watching this video.

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Thanks for your feedback. I'll keep this in mind.

  • @pashatyulnev8603
    @pashatyulnev8603 9 месяцев назад

    this is useless

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Have you been unable to figure out how to install Webpack Encore in Symfony? Why do you think the video is useless?

    • @pashatyulnev8603
      @pashatyulnev8603 8 месяцев назад

      ​@@tanyawebdevYou´ve made a whole Video for 1 single command ;D, so yes, this video is useless.

    • @tanyawebdev
      @tanyawebdev 8 месяцев назад

      @@pashatyulnev8603 😅 Actually here the full video: ruclips.net/video/FGCeHEWEUII/видео.htmlsi=Sg3YT5t69sRwwT0i Then I divided that video into parts to make it easier to find the answer to a specific question and made a playlist of small videos: ruclips.net/p/PL-T7sjNqXMumJH8XPpY57rNr-5jV5S__Q&si=Y4pvzFJvTPJNvcNi So for the sake of one command, I didn’t make a video. :) But thanks anyway for your feedback!

  • @erkash88
    @erkash88 9 месяцев назад

    Почему не используешь миграции? это максимально странно использовать schema:update --force

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Thank you for your question. There is nothing strange about it. It is simply a quick way to update the database structure. Of course, this does not negate the fact that migrations are a more reliable way to manage the database schema, especially in a multi-user environment.

    • @erkash88
      @erkash88 9 месяцев назад

      @@tanyawebdev миграции это грубо говоря гит история для базы данных и в современной разработке без использования миграций разработчики могут вносить изменения в базу данных непосредственно , без учета версий или контроля. И никто не поймет кто в каком моменте грохнул базу!!! Такой подход как у тебя просто недопустим!

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      @@erkash88 While the main focus of my educational video was on Domain-Driven Design (DDD) and email functionality, I opted for schema:update:force to illustrate quick schema updates. However, in practical scenarios, Doctrine migrations are recommended for a more controlled and maintainable approach to database schema updates. If we are talking about projects in real life, where development is carried out by a team, then you are absolutely right. But in the context of this particular topic, I don't think it's that important. If you or someone who read this branch interested in migrations, please then watch my video about it: ruclips.net/video/oBw3Qi5ry6A/видео.html But in any case thanks for your feedback!

  • @mouhamedtahermabrouk3833
    @mouhamedtahermabrouk3833 9 месяцев назад

    well done but your voice is not that clear :) thanks anyway

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Thanks for your feedback! I'll try to improve in the next video. :)

  • @forevernoob97
    @forevernoob97 9 месяцев назад

    Hi Tanya, your channel is pure Gold for newbie Symfony devs like myself. Thank You!

  • @Andrew-qj6rf
    @Andrew-qj6rf 9 месяцев назад

    Hello! Thank you very much for the lessons! Can you please tell me, for validate input API request you also use Form?

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      No, I use Symfony Validator component. Here the example: ruclips.net/video/20zcr5XgC6g/видео.html

  • @KGB1st
    @KGB1st 9 месяцев назад

    очень хорошая идея рассказывать про модули симфы))) Мне просто лень читать весь этот текст, который там написан на странице описания :D

  • @AleksandrGoryachev
    @AleksandrGoryachev 9 месяцев назад

    С английским беда у барышни...

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      Thanks for the comment, I had a good laugh! Well, the main thing is that my English is better than my russian. 🤣🤣🤣

  • @midewestmond9442
    @midewestmond9442 9 месяцев назад

    Please do more of this

  • @dupre7777
    @dupre7777 9 месяцев назад

    thanks for this video you saved my homework cheers

    • @tanyawebdev
      @tanyawebdev 9 месяцев назад

      You are welcome! :)

  •  9 месяцев назад

    The contents are very useful.Thanks

  • @deepatom-df7sj
    @deepatom-df7sj 10 месяцев назад

    how to generate subdomain with generate url function

    • @tanyawebdev
      @tanyawebdev 10 месяцев назад

      The standard generateUrl() method in Symfony does not support generating URLs with subdomains. To do this, first you must define a route with a hostname pattern that contains the subdomain. You can specify the hostname pattern in the config/routes.yaml configuration file or directly in the route definition. If you specify the hostname pattern in the configuration file, it will be applied to all routes with the same name. If you specify the hostname pattern directly in the route definition, it will only be applied to that specific route.

  • @Костянтин-о5д
    @Костянтин-о5д 10 месяцев назад

    thank you for your work! greetings from Kyiv!

    • @tanyawebdev
      @tanyawebdev 10 месяцев назад

      Thanks! You are welcome from Kyiv. 😀

    • @Костянтин-о5д
      @Костянтин-о5д 10 месяцев назад

      @@tanyawebdev ДОброго дня , я знав , що Ви з України, бачив в коментах під відео, не знав, що також з Києва ) Ще раз дякую за Вашу роботу! Був радий знайти Ваш канал (звісно підписався ). Буду чекати Ваших нових відео по Сімфоні. Всього тільки найкращого! З великою повагою.

  •  10 месяцев назад

    This video helped me thank you but not work. update row 41: $response=$this->render("text.xml.twig")->getContent();