Great Tutorial! Thank you for crediting Kevin in the description too! To answer some of the comments, Yes IdentityServer4 will no longer be supported by November 2022. However if you are a small organisation earning under $1 million USD or a single person, Duende IdentityServer is still free. There is also a collection of User & Client management tools to help you with configuring your IdentityServer solution. Duende's inbuilt UI, Skoruba, TheldServer and we also offer a free version of our AdminUI component. - Kieran, Rock Solid Knowledge
Just finished the tutorial, and oh man, paired with chatGPT following this through clearing questions about everything you were doing, including dependency injection, basic identity, even OOP concepts I was a bit confused with it took me 7 hours to fully complete this and learnt a lot, I am just a bit lost at the very end, why did we add that IS4 quickstart UI thing, I thought we were going to do a blazor server client in the part 2 anyway, thank you so much, about to watch part 2 now, very excited, maybe i'll find out why there. Thanks again. And yes I know IS4 is not supported anymore, but since main concepts seems to be used, this tutorial is anyway quite helpful, for plenty of reasons, highly recommended for new devs like me.
I love how the tutorial is structured, the video description is REALLY helpful and saves A LOT of time, and the source code (and branches) are also so well made. Thanks!!
This is such a lifesaving tutorial. Thanks! Almost all of this applies to the new duende ids that ive setup side by side with this tutorial. Thanks a million!
@@CodeWithJulian on another note, I think it'd be helpful to share with us, how you pieced together all the good information jammed into this tutorial, as in, what caused you to research what topics and from where, those stories help us sometimes, appreciate it, great tutorial
Nice tutorial. But will be even more helpful if you will provide some sort of connection diagram how the applications will work and how http request will travel. I'm trying to get into Identity Server 4, but without seeing the end result is difficult to understand what actually I'm trying to achive without going through the whole tutorial. The turorial is structured well, but in few spots more details will be very helpful. In example, for a person who already worked with Entity Framework it was easy to understand why we need all nuget packages, but extra word for each Identity Server package would help a lot to undestand why you added them into the project. Anyway, one of the clearest Identity Server tutorials.
Good work! just at 54:14 be sure to add those couple of lines before executing dotnet run builder.Services.AddAuthorization(); builder.Services.AddControllers(); otherwise you will have a build error alos ther is not need to add --project Server
Maybe this comment will help future users. I was using .NET 7 on Linux. I followed the tutorial all the way until 53:57 and everything worked fine until there. But when running the program I got an exception at EnsureSeedData(Context) in the parts where you call .ToEntity(). The exception was something like this: ArgumentException: GenericArguments[0], 'System.Char', on 'T MaxFloat[T](System.Collections.Generic.IEnumerable`1[T])' violates the constraint of type 'T'. What solved the problem for me was replacing IdentityServer4 with Duende.IdentityServer. and Remigrate the Database. Now that well known pages works fine.
as @cyclemons mentioned: 1. remove this packages 2. install these two: (check newer versions though) 3. fix all the error messages due package references in the Program.cs and SeedClass and others if needed. 4. Delete migrations and also the DB 5. Re do migrations and update db 6. Run the 'run Server/bin/Debug/net8.0/Server /seed --project Server' command
This video should show you need to add "builder.Services.AddControllersWithViews()" before the builder.Build() in the program.cs file in order for this part of the code to work.
When I run the add migration command, I get an error Add-Migration InitialIdentityServerMigration -c PersistedGrantDbContext Multiple startup projects set. Using project 'Server' as the startup project. Build started... Build succeeded. No DbContext named 'PersistedGrantDbContext' was found.
Hi!great tutorial! Are you not planning to do the same thing with asp before mvc ? And can you make a forgot and reset password implementation as well?
Hello, thanks for the tutorial. Why did you choose Blazor Server over Blazor WASM? Are there any differences if I want to impelent the same architecture but with Blazor WASM as a client?
Regarding the concept behind making a model class of the CoffeeShop entity (API/Models/CoffeeShopModel for DataAccess/Models/CoffeeShop) can you explain or provide a related link on why/how this is best practice? I think I get it but seems pretty redundant when you're dealing with possibly hundreds (or more) database entities.
Hi...thanks for posting this. Exactly what I need. Just following along but the AddCoffeeShops is missing out of your Github? Any change of dropping that in?
Hi Glen, everything from the tutorial should be in the repo. Please check out the different branches (1&2 are for this tutorial). If you still can't find it, please let me know the timestamp in the video where that line is missing. Hope this helps!
When I ran the migration commands at first, there was also a designer.cs file, it goes into more detail on how to query db to create tables and what not, but why did I get this file generated and you did not.
Thank you for the video! "Quickstart UI" does not contain new user registration and user management interfaces. How to "correctly" add this functionality yourself? Maybe there are some articles or videos.
Hi! The registration is missing deliberately from the QuickStart code. The best thing you could do in this situation is to generate and handle it with ASP.NET Core Identity. Check this out, hope it helps 👉 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-5UfJeDcoC1k.html
Identity Server 4 is no more developed as of December 2022. Are there other alternatives (ideally usable for free or low cost for production) outside of Duende Identity Server ?
Hi, Julian, found that your video has lots of 's' sounds at the end of the words, and hearing that makes the ears painful. I am not sure whether this is the recording issue...
Hm interesting.. It could be the microphone being too sensitive, or even my diction. I'll see if I can reduce the amplitude in editing. Thanks for letting me know!
Hi Adem, thanks for the feedback! Here's the source code 👉 github.com/iulianoana/CoffeeShopper-IS4. Don't forget to check out all the branches to get the full picture (1-4).
@@CodeWithJulian Thanks for the response. Just to clarify why I'm wondering, it's because of the rebranding of Identity Server to Duende IdentityServer and the liscense costs coming with it. I work for a big company with a small dev team and I'm sure they'll want to try and stay on classic Identity.
when i execute dotnet run Server/bin/Debug/net8.0/Server/seed --project Server in package manager console acces of scopped_supported is offline and claims_supported are empty i don't know where is the probleme i follow the tutorial step by step :/
Hi, navigate to the QuickStart repo (link in the description). Clone the code. Copy over only the following folders: Quickstart, Views and wwwroot into your Server project (where IdentityServer is installed and configured). Hope this helps
TQ sir, and now I have a new problem "InvalidOperationException: Cannot provide a value for property 'HttpClient' on type Client.pages.Coffeeshop'. There is no registered service of type 'System.Net.Http.HttpClient." how to solve this in part 3 sir
@Manoj Saro You've probably done the second part of this tutorial too, nice one! This issue is caused by a missing a line in your Program.cs in your Client project. Add this after _builder.Services.AddServer SideBlazor();_ -> *_builder.Services.AddHttpClient();_* This registers HttpClient in your project.
I've not covered roles and permissions as part of this tutorial series. However, you could check out this video 👉 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-kM1fPt1BcLc.html
Hi Julian, congratulation for the tutorial and a big Thank you, I started to prototype a my own Identity Server project following your project, I found only an issue at the end, Server Project --> Program.cs file, when I try to run the projects I get 2 error when I try to use the following code app.UseAuthorization(); app.UseEndpoints(endpoints => { endpoints.MapDefaultControllerRoute(); }); for both lines I get this error description : System.InvalidOperationException: 'Unable to find the required services. Please add all the required services by calling 'IServiceCollection.AddAuthorization' in the application startup code.' I need to add the follow instruction before the app is generated, builder.Services.AddMvc(); can you have a look if is normal please?
Hi there, thanks for your feedback, appreciate it. This video is part one of 2 tutorials. Please check out the second prt here 👉 ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-rNqgxAqGZJ8.html Also please check out the GitHub repo, it's got the complete project (branch part4). Compare line-by-line, as that project is fully working! Hope this helps!
When run "Add-Migration InitalIdentityServerMigration -c PersistedGrantDbContect" => I got an error "No DbContext named 'PersistedGrantDbContect' was found.". Usually, we have to create DbContext first, isn't it? Why doesn't the demo do that? Where am I wrong? This is my version: net6.0 enable enable all runtime; build; native; contentfiles; analyzers; buildtransitive
At 54:35 when Julian navigates to localhost:5443/.well-known/openid-configuration the returned JSON is beautified. Does anyone know how to do this? Mine is just one long string broken over several lines