Chapters
47 Chapters
|
4:41:51
|
Login to bookmark this video
-
Course Code
Subscribe to download the code!
Subscribe to download the code!
-
This Video
Subscribe to download the video!
Subscribe to download the video!
-
Subtitles
Subscribe to download the subtitles!
Subscribe to download the subtitles!
-
Course Script
Subscribe to download the script!
Subscribe to download the script!
Scroll down to the script below, click on any sentence (including terminal blocks) to jump to that spot in the video!
Subscribe to jump to this part in the video!
Keep on Learning!
If you liked what you've learned so far, dive in! Subscribe to get access to this tutorial plus video, code and script downloads.
¡Este tutorial también funciona muy bien para Symfony 6!
What PHP libraries does this tutorial use?
// composer.json
{
"require": {
"php": ">=8.2",
"ext-ctype": "*",
"ext-iconv": "*",
"babdev/pagerfanta-bundle": "^3.3", // v3.3.0
"composer/package-versions-deprecated": "^1.11", // 1.11.99.4
"doctrine/annotations": "^1.0", // 1.13.2
"doctrine/doctrine-bundle": "^2.1", // 2.6.3
"doctrine/doctrine-migrations-bundle": "^3.0", // 3.1.1
"doctrine/orm": "^2.7", // 2.10.1
"knplabs/knp-markdown-bundle": "^1.8", // 1.9.0
"knplabs/knp-time-bundle": "^1.11", // v1.16.1
"pagerfanta/doctrine-orm-adapter": "^3.3", // v3.3.0
"pagerfanta/twig": "^3.3", // v3.3.0
"phpdocumentor/reflection-docblock": "^5.2", // 5.2.2
"scheb/2fa-bundle": "^5.12", // v5.12.1
"scheb/2fa-qr-code": "^5.12", // v5.12.1
"scheb/2fa-totp": "^5.12", // v5.12.1
"sensio/framework-extra-bundle": "^6.0", // v6.2.0
"stof/doctrine-extensions-bundle": "^1.4", // v1.6.0
"symfony/asset": "5.3.*", // v5.3.4
"symfony/console": "5.3.*", // v5.3.7
"symfony/dotenv": "5.3.*", // v5.3.8
"symfony/flex": "^1.3.1", // v1.21.6
"symfony/form": "5.3.*", // v5.3.8
"symfony/framework-bundle": "5.3.*", // v5.3.8
"symfony/monolog-bundle": "^3.0", // v3.7.0
"symfony/property-access": "5.3.*", // v5.3.8
"symfony/property-info": "5.3.*", // v5.3.8
"symfony/rate-limiter": "5.3.*", // v5.3.4
"symfony/runtime": "5.3.*", // v5.3.4
"symfony/security-bundle": "5.3.*", // v5.3.8
"symfony/serializer": "5.3.*", // v5.3.8
"symfony/stopwatch": "5.3.*", // v5.3.4
"symfony/twig-bundle": "5.3.*", // v5.3.4
"symfony/ux-chartjs": "^1.3", // v1.3.0
"symfony/validator": "5.3.*", // v5.3.8
"symfony/webpack-encore-bundle": "^1.7", // v1.12.0
"symfony/yaml": "5.3.*", // v5.3.6
"symfonycasts/verify-email-bundle": "^1.5", // v1.5.0
"twig/extra-bundle": "^2.12|^3.0", // v3.3.3
"twig/string-extra": "^3.3", // v3.3.3
"twig/twig": "^2.12|^3.0" // v3.3.3
},
"require-dev": {
"doctrine/doctrine-fixtures-bundle": "^3.3", // 3.4.0
"symfony/debug-bundle": "5.3.*", // v5.3.4
"symfony/maker-bundle": "^1.15", // v1.34.0
"symfony/var-dumper": "5.3.*", // v5.3.8
"symfony/web-profiler-bundle": "5.3.*", // v5.3.8
"zenstruck/foundry": "^1.1" // v1.13.3
}
}
8 Comments
I am creating the front-end with next.js, do i need JWT for example for authentication or the traditional system can handle the authentication, because i dont receive the cookies for sessionID and remeber_me
Hey @Wassim-ammar!
In general, if your frontend and backend are using the same domain name, then using the traditional system will work fine. If you're not receiving the cookies, check that the backend and frontend are under the same domain. If they are each under different subdomains - like api.example.com and example.com (your frontend), you'll need to configure your API a bit so that Symfony knows to issue cookies valid for example.com not specifically api.example.com.
Cheers!
Oh dear!
When I run the command 'composer require scheb/2fa-totp' at the cache:clear I see
The service "security.exception_listener.main" has a dependency on a non-ex
!! istent service "form_loginNqq".
Lol, must have leant on the keyboard. In my security.yaml I found the 'form_login' entry point had morphed into 'form_loginNqq'. So git diff was my friend!
Hello,
What must I do to make this work when (the first) authentication is not done with users entity but with ldap (active directory). The ldap authentication works great. We even use ldap for our voters. Roles and groups are organized in ldap.
What security_tokens do i use and do i need a custom persister?
Thanks in advance for your great help !
Security.yaml (symfony 5.4)
Hey truuslee!
I can't remember exactly what token class would be used for http_basic_ldap (it's up to the "authenticator" to choose the token class). But you should be able to see it after logging in: hover over the security icon on the web debug toolbar. You should see: Token class: and then the name of the token class (hover over it to see the full class name). If I had to guess, I'd think that it would use the normal `UsernamePasswordToken</close> token class, but... that's just a guess :).
Cheers!
Hi Ryan,
You were right. It's the UsernamePasswordToken.
By the way, we are not using an user entity at all.
Is it at all possible to use 2fa without an User entity?
Thank you again for your great help.
Hey Annemieke,
I didn't try but it should be possible I think, you will just need to implement some extra methods on your Use object, see the next chapter, this exact code block to be specified: https://symfonycasts.com/sc...
I hope this helps!
Cheers!
"Houston: no signs of life"
Start the conversation!