<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>TN-Data News</title><description>News from my business: new workshops, conference talks and milestones. My technical blog posts on .NET, identity and security are on nestenius.se.</description><link>https://tn-data.se/</link><language>en-US</language><atom:link href="https://tn-data.se/feed/" rel="self" type="application/rss+xml"/><item><title>My Two Dometrain Courses: Authentication in .NET and OpenID Connect</title><link>https://tn-data.se/my-dometrain-courses-authentication-and-openid-connect/</link><guid isPermaLink="false">https://tn-data.se/my-dometrain-courses-authentication-and-openid-connect/</guid><description>Two recorded courses: authentication and authorization in .NET, and OpenID Connect at the protocol level.</description><pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I now have two recorded courses on &lt;a href=&quot;https://dometrain.com/author/tore-nestenius/&quot;&gt;Dometrain&lt;/a&gt;. Dometrain is an online learning platform for software engineers, focused on .NET and C#. It was founded by Nick Chapsas, a Microsoft MVP known for his free .NET videos on YouTube.&lt;/p&gt;
&lt;p&gt;I made them because, in my training, I have seen that many developers find authentication and OpenID Connect hard to understand. These two courses explain how they work, step by step.&lt;/p&gt;
&lt;p&gt;The two courses are separate. You can take either one without the other.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;getting-started-authentication-and-authorization-in-net&quot;&gt;Getting Started: Authentication and Authorization in .NET&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://tn-data.se/courses/getting-started-authentication-and-authorization-in-dotnet/&quot;&gt;&lt;img alt=&quot;Getting Started: Authentication and Authorization in .NET, a Dometrain course by Tore Nestenius&quot; sizes=&quot;(max-width: 860px) 100vw, 705px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;705&quot; height=&quot;397&quot; src=&quot;https://tn-data.se/_astro/getting-started-authentication-and-authorization-in-dotnet-thumbnail.CZ0_PMy1_Z2lFmgK.webp&quot; srcset=&quot;/_astro/getting-started-authentication-and-authorization-in-dotnet-thumbnail.CZ0_PMy1_17nAF4.webp 400w, /_astro/getting-started-authentication-and-authorization-in-dotnet-thumbnail.CZ0_PMy1_Z2lFmgK.webp 705w&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This course came out in April 2026 and is about what happens inside ASP.NET Core when a user signs in. It starts with the user object, the ClaimsPrincipal and the request pipeline. Then it goes through the authentication middleware and its operations (Challenge, SignIn, Authenticate, SignOut and Forbid), schemes, tickets and data protection, and the cookie handler with its events and lifetimes. The last part is authorization: simple, role-based, policy-based and resource-based, plus custom requirements, handlers and authorization filters.&lt;/p&gt;
&lt;p&gt;It is for .NET developers who want to understand how authentication in ASP.NET Core actually works.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tn-data.se/courses/getting-started-authentication-and-authorization-in-dotnet/&quot;&gt;Read more about the course&lt;/a&gt; or &lt;a href=&quot;https://dometrain.com/course/getting-started-authentication-and-authorization-in-dotnet/&quot;&gt;go to the course on Dometrain&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;getting-started-openid-connect&quot;&gt;Getting Started: OpenID Connect&lt;/h2&gt;
&lt;p&gt;This course covers OAuth 2 and OpenID Connect at the protocol level, so it is not tied to .NET. It is for any developer who works with OpenID Connect, whether you use .NET, Java, Node.js or something else.&lt;/p&gt;
&lt;p&gt;You look at the OpenID Provider, tokens and JWTs, ID tokens versus access tokens, claims and scopes. A large part is about how tokens are signed and validated, including key rotation. Then come the Authorization Code Flow, refresh tokens, state, nonce and PKCE, single sign-on and sign-out, the Client Credentials Flow, and OAuth 2.1.&lt;/p&gt;
&lt;p&gt;If you want to read more about OpenID Connect first, see my free guide, &lt;a href=&quot;https://tn-data.se/openid-connect/&quot;&gt;OpenID Connect for Developers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://tn-data.se/courses/getting-started-openid-connect/&quot;&gt;Read more about the course&lt;/a&gt; or &lt;a href=&quot;https://dometrain.com/course/getting-started-openid-connect/&quot;&gt;go to the course on Dometrain&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;live-training-and-consulting&quot;&gt;Live training and consulting&lt;/h2&gt;
&lt;p&gt;If your team prefers to learn in a room together, I also teach both topics as live workshops on-site at your company: &lt;a href=&quot;https://tn-data.se/courses/authentication-and-authorization-in-aspnet-core/&quot;&gt;Authentication and Authorization in ASP.NET Core&lt;/a&gt; and &lt;a href=&quot;https://tn-data.se/courses/introduction-to-openid-connect-and-oauth/&quot;&gt;Introduction to OpenID Connect and OAuth&lt;/a&gt;. For other topics, see my &lt;a href=&quot;https://tn-data.se/courses/&quot;&gt;course catalog&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you need help with your own setup, I also offer &lt;a href=&quot;https://tn-data.se/duende-identityserver-consulting-services/&quot;&gt;Duende IdentityServer and identity consulting&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Speaking at NDC Copenhagen 2025</title><link>https://tn-data.se/tn-data-at-ndc-copenhagen-2025/</link><guid isPermaLink="false">https://tn-data.se/?p=5544</guid><description>In September 2025 I gave my first talk at NDC Copenhagen, on schemes, ClaimsPrincipal and cookies.</description><pubDate>Tue, 27 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img alt=&quot;NDC Copenhagen Developers Festival 2025&quot; sizes=&quot;(max-width: 860px) 100vw, 768px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;768&quot; height=&quot;432&quot; src=&quot;https://tn-data.se/_astro/ndc-768x432.Bcr_JuuW_Z1WFpFq.webp&quot; srcset=&quot;/_astro/ndc-768x432.Bcr_JuuW_H9Rww.webp 400w, /_astro/ndc-768x432.Bcr_JuuW_Z1WFpFq.webp 768w&quot;&gt;&lt;/p&gt;
&lt;h1 id=&quot;speaking-at-ndc-copenhagen-2025&quot;&gt;Speaking at NDC Copenhagen 2025&lt;/h1&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; the recording of the talk is on &lt;a href=&quot;https://www.youtube.com/watch?v=hEazKs0QNTw&quot;&gt;YouTube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I will be presenting at &lt;a href=&quot;https://ndccopenhagen.com&quot;&gt;NDC Copenhagen Developers Festival&lt;/a&gt; this September. It is my first time speaking at this conference.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;about-the-ndc-copenhagen-developers-festival&quot;&gt;About the NDC Copenhagen Developers Festival&lt;/h2&gt;
&lt;p&gt;The &lt;a href=&quot;https://ndccopenhagen.com&quot;&gt;NDC Copenhagen Developers Festival&lt;/a&gt; takes place in September 2025. It brings together developers and technology professionals from all over the world.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;session-demystifying-authentication-in-aspnet-core&quot;&gt;Session: Demystifying Authentication in ASP.NET Core&lt;/h2&gt;
&lt;p&gt;My talk, “&lt;a href=&quot;https://tn-data.se/talks/openid-connect/#demystifying-authentication-in-aspnet-core&quot;&gt;Demystifying Authentication in ASP.NET Core&lt;/a&gt;,” is about one of the most misunderstood parts of web application development. It walks through the ASP.NET Core authentication system: authentication schemes, ClaimsPrincipal, session cookies and good practices for putting it together. The aim is to help developers build and maintain their authentication with more confidence.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;why-this-matters&quot;&gt;Why This Matters&lt;/h2&gt;
&lt;p&gt;Authentication is critical in web applications, but it is often implemented without a full understanding of how it works underneath. That can lead to security holes and code that is hard to maintain.&lt;/p&gt;
&lt;p&gt;NDC is one of the big developer conferences in Europe, so it is a good place to share this with the .NET community.&lt;/p&gt;
&lt;p&gt;You can find more information at &lt;a href=&quot;https://ndccopenhagen.com&quot;&gt;ndccopenhagen.com&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If your organization wants ASP.NET Core training or consulting on authentication and security, &lt;a href=&quot;https://tn-data.se/contact/&quot;&gt;contact me&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Nominated for Trainer of the Year 2025</title><link>https://tn-data.se/nominated-for-trainer-of-the-year-2025/</link><guid isPermaLink="false">https://tn-data.se/?p=5537</guid><description>The nomination at Developers Day made me look back at how much of my career has been about sharing knowledge.</description><pubDate>Tue, 27 May 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img alt=&quot;Developers Day: nominated for Trainer of the Year 2025 (Årets utbildare 2025)&quot; sizes=&quot;(max-width: 860px) 100vw, 720px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;720&quot; height=&quot;720&quot; src=&quot;https://tn-data.se/_astro/1748353814735.BJ4IvimK_Z1Ag3dd.webp&quot; srcset=&quot;/_astro/1748353814735.BJ4IvimK_2tn5g7.webp 400w, /_astro/1748353814735.BJ4IvimK_Z1Ag3dd.webp 720w&quot;&gt;&lt;/p&gt;
&lt;h1 id=&quot;nominated-for-trainer-of-the-year-2025&quot;&gt;Nominated for Trainer of the Year 2025&lt;/h1&gt;
&lt;p&gt;I was surprised and happy to hear that I’ve been nominated for &lt;em&gt;Trainer of the Year 2025&lt;/em&gt; at this year’s &lt;a href=&quot;https://developers-day.confetti.events/developersday2025/&quot;&gt;Developers Day event&lt;/a&gt;. It made me think about how much of my career has been about sharing knowledge and helping others grow.&lt;/p&gt;
&lt;h2 id=&quot;sharing-knowledge-then-and-now&quot;&gt;Sharing Knowledge, Then and Now&lt;/h2&gt;
&lt;p&gt;Looking back, sharing knowledge has been a common thread in my working life. It started in the 90s, when I ran a BBS (Bulletin Board System) and then published CD-ROM collections for programmers. After that I started Programmers Heaven, one of the early large online communities for developers.&lt;/p&gt;
&lt;p&gt;Later, I co-founded &lt;a href=&quot;https://www.edument.se/&quot;&gt;Edument&lt;/a&gt;, a consulting and training company where we focused on high-quality training and guidance for organizations and individuals. Today I do the same through training, consulting and speaking. You can read more about my background &lt;a href=&quot;https://tn-data.se/about/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;still-going&quot;&gt;Still Going&lt;/h2&gt;
&lt;p&gt;What began as curiosity and a wish to share what I knew has stayed with me ever since. It is rewarding to help others learn and to see them succeed.&lt;/p&gt;
&lt;p&gt;The award ceremony will take place at the Developers Day gala, and I’m looking forward to celebrating with other trainers and developers who also care about learning and sharing knowledge.&lt;/p&gt;
&lt;h2 id=&quot;thank-you&quot;&gt;Thank You&lt;/h2&gt;
&lt;p&gt;Thank you to whoever nominated me, and to all the people I’ve worked with over the years. Your collaboration, feedback and enthusiasm have meant a lot.&lt;/p&gt;
&lt;p&gt;If you want to know more about the training I offer, see my &lt;a href=&quot;https://tn-data.se/training/&quot;&gt;workshops&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You can also read more about the Developers Day event &lt;a href=&quot;https://developers-day.confetti.events/developersday2025/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Speaking at Swetugg 2025</title><link>https://tn-data.se/i-will-be-speaking-at-swetugg-2025/</link><guid isPermaLink="false">https://tn-data.se/?p=4557</guid><description>My Swetugg talk in Stockholm on common authentication mistakes in ASP.NET Core and how to avoid them.</description><pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’ll be speaking at &lt;a href=&quot;https://swetugg.se/&quot;&gt;Swetugg&lt;/a&gt; in Stockholm on February 4–5.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://swetugg.se&quot;&gt;Swetugg&lt;/a&gt; is a .NET conference with high-quality content at an affordable price. A team of volunteers runs it, and it is a good place for developers of all levels to learn and meet. The talks range from soft skills to advanced technical topics.&lt;/p&gt;
&lt;p&gt;In my session &lt;a href=&quot;https://tn-data.se/talks/openid-connect/#top-authentication-fails-in-aspnet-core-and-how-to-avoid-them&quot;&gt;&lt;strong&gt;Top Authentication Fails in ASP.NET Core (and How to Avoid Them)&lt;/strong&gt;&lt;/a&gt; I’ll share what I have learned from answering over 1,100 questions on Stack Overflow, many of them about authentication. I go through common mistakes developers make when they implement authentication in ASP.NET Core, and how to avoid them, with real-world examples, frequent misconfigurations and live demos.&lt;/p&gt;
&lt;p&gt;If you want to learn more .NET or meet others in the community, join me at Swetugg. I’m looking forward to talking about authentication with other developers.&lt;/p&gt;
&lt;p&gt;See you there!&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>I Have Been Awarded Microsoft .NET MVP</title><link>https://tn-data.se/mvp-announcement/</link><guid isPermaLink="false">https://tn-data.se/?p=4550</guid><description>In January 2025 I was awarded Microsoft .NET MVP.</description><pubDate>Sun, 12 Jan 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I have just been awarded Microsoft .NET MVP (Most Valuable Professional). This is a big milestone for me, and it means a lot that Microsoft recognises the community work I have been doing for years:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nestenius.se/&quot;&gt;blog posts&lt;/a&gt; on authentication, identity and security in .NET&lt;/li&gt;
&lt;li&gt;running the &lt;a href=&quot;https://www.meetup.com/net-skane/&quot;&gt;.NET Skåne meetup&lt;/a&gt; in the south of Sweden, which I co-founded&lt;/li&gt;
&lt;li&gt;open-source tools, such as CloudDebugger, a tool for exploring Azure as a developer&lt;/li&gt;
&lt;li&gt;talks at conferences, meetups and user groups&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thank you to everyone who has read my posts, come to my talks or tried my tools.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;what-is-the-mvp-award&quot;&gt;What is the MVP award?&lt;/h2&gt;
&lt;p&gt;The Microsoft MVP award is a program where Microsoft recognises technology experts who share their knowledge with the community. That can mean writing blog posts, speaking at conferences, mentoring, building open-source tools or running user groups. The award is given one year at a time.&lt;/p&gt;
&lt;p&gt;Most of my community work started because I like explaining how things work. Writing a post or preparing a talk is also how I learn a topic properly.&lt;/p&gt;
&lt;p&gt;The award also connects me with other MVPs around the world, and I look forward to learning from them.&lt;/p&gt;
&lt;p&gt;You can see my &lt;a href=&quot;https://mvp.microsoft.com/en-US/mvp/profile/5150f7cb-54d8-48d8-a450-46b2b677d634&quot;&gt;MVP profile&lt;/a&gt; on Microsoft’s site.&lt;/p&gt;
&lt;p&gt;If you want a talk on .NET or authentication for your team or event, see my &lt;a href=&quot;https://tn-data.se/talks/&quot;&gt;talks&lt;/a&gt;.&lt;/p&gt;
&lt;h2 class=&quot;as-h3&quot; id=&quot;update-2026&quot;&gt;Update, 2026&lt;/h2&gt;
&lt;p&gt;In 2026 I was renewed as a Microsoft .NET MVP. Since the first award, I have also released the &lt;a href=&quot;https://nestenius.se/ai/introducing-the-coding-agent-explorer-net/&quot;&gt;Coding Agent Explorer&lt;/a&gt;, an open-source tool that shows what AI coding agents such as Claude Code actually do.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;My Microsoft MVP award with the 2025 and 2026–2027 year discs&quot; sizes=&quot;(max-width: 860px) 100vw, 400px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;400&quot; height=&quot;533&quot; src=&quot;https://tn-data.se/_astro/mvp-award-2026.BIfuRqUQ_Z1pcBYp.webp&quot; srcset=&quot;/_astro/mvp-award-2026.BIfuRqUQ_Z1pcBYp.webp 400w&quot;&gt;&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Speaking at the Øredev conference</title><link>https://tn-data.se/speaking-at-the-oredev-conference/</link><guid isPermaLink="false">https://tn-data.se/?p=2517</guid><description>In Malmö I went through schemes, handlers, ClaimsPrincipal and claims, with slides and code.</description><pubDate>Sat, 09 Nov 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img alt=&quot;Speaking at Øredev 2024 – Demystifying Authentication in ASP.NET Core&quot; sizes=&quot;(max-width: 860px) 100vw, 768px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;768&quot; height=&quot;1024&quot; src=&quot;https://tn-data.se/_astro/Oredev-Badge-768x1024.DGikUGAg_vX9jU.webp&quot; srcset=&quot;/_astro/Oredev-Badge-768x1024.DGikUGAg_2reuoQ.webp 400w, /_astro/Oredev-Badge-768x1024.DGikUGAg_vX9jU.webp 768w&quot;&gt;&lt;/p&gt;
&lt;h1 id=&quot;speaking-at-the-øredev-conference&quot;&gt;Speaking at the Øredev conference&lt;/h1&gt;
&lt;p&gt;In November 2024 I spoke at the &lt;a href=&quot;https://oredev.org/&quot;&gt;Øredev Conference&lt;/a&gt; in Malmö, with my talk &lt;strong&gt;Demystifying Authentication in ASP.NET Core&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Øredev brings together developers and others in tech to share practical knowledge and look at current trends, so I was glad to be part of it.&lt;/p&gt;
&lt;h2 id=&quot;what-was-the-talk-about&quot;&gt;What Was the Talk About?&lt;/h2&gt;
&lt;p&gt;Authentication in ASP.NET Core 8 can feel overwhelming, with many components that depend on each other. My session broke it down and showed how things work under the hood.&lt;/p&gt;
&lt;p&gt;Here’s what we covered:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Authentication Schemes and Handlers:&lt;/strong&gt;&lt;br&gt;
The role they play in handling different types of authentication in your applications.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;ClaimsPrincipal and Claims:&lt;/strong&gt;&lt;br&gt;
How ASP.NET Core uses them to represent users and their data.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Authentication Challenges:&lt;/strong&gt;&lt;br&gt;
When and why challenges are issued during authentication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Session Cookies:&lt;/strong&gt;&lt;br&gt;
Managing user sessions and keeping state across requests.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The session was practical and detailed, to help attendees handle authentication in real projects and troubleshoot the problems that come up.&lt;/p&gt;
&lt;h2 id=&quot;presentation-slides-and-source-code&quot;&gt;Presentation Slides and Source Code&lt;/h2&gt;
&lt;p&gt;If you missed the session or want to look closer, the presentation slides and source code are in my &lt;a href=&quot;https://github.com/tndataab/PublicBlogContent&quot;&gt;public GitHub repository&lt;/a&gt;.&lt;/p&gt;
&lt;h3 id=&quot;interested-in-a-talk-at-your-company&quot;&gt;Interested in a Talk at Your Company?&lt;/h3&gt;
&lt;p&gt;If you want your team to understand authentication and security in ASP.NET Core better, I can give this talk at your company or user group. &lt;a href=&quot;https://tn-data.se/contact/&quot;&gt;Get in touch&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>I’m Now Azure Developer Certified (AZ-204)</title><link>https://tn-data.se/we-are-now-azure-development-certified/</link><guid isPermaLink="false">https://tn-data.se/?p=2252</guid><description>How I prepared for the AZ-204 exam, and how the studies turned into my own Azure course.</description><pubDate>Mon, 26 Aug 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; the material I wrote while preparing became my workshop &lt;a href=&quot;https://tn-data.se/courses/introduction-to-azure-for-developers-workshop/&quot;&gt;Introduction to Azure for Developers&lt;/a&gt;, and the open-source project is the &lt;a href=&quot;https://github.com/tndata/CloudDebugger&quot;&gt;Cloud Debugger&lt;/a&gt;, which I describe in &lt;a href=&quot;https://nestenius.se/azure/introducing-the-cloud-debugger-for-azure/&quot;&gt;Introducing the Cloud Debugger for Azure&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have recently earned the &lt;a href=&quot;https://learn.microsoft.com/en-us/credentials/certifications/azure-developer&quot;&gt;Microsoft Azure Developer Associate certification&lt;/a&gt; (AZ-204). It is part of how I keep my Azure development skills up to date.&lt;/p&gt;
&lt;h2 id=&quot;the-certification-and-what-it-means-for-me&quot;&gt;The Certification and What It Means for Me&lt;/h2&gt;
&lt;p&gt;The AZ-204 certification shows that I can design, build, test and maintain cloud applications and services on Microsoft Azure. These are key skills when I deliver solutions to my clients.&lt;/p&gt;
&lt;h3 id=&quot;my-path-to-az-204-certification&quot;&gt;My Path to AZ-204 Certification&lt;/h3&gt;
&lt;p&gt;Here’s how I prepared:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Structured Training:&lt;/strong&gt; I began with &lt;a href=&quot;https://www.udemy.com/course/70532-azure/&quot;&gt;Scott Duffy’s AZ-204&lt;/a&gt; course, which gave me a solid foundation in Azure services and development practices.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Microsoft Learn:&lt;/strong&gt; To build on this foundation, I worked through the &lt;a href=&quot;https://learn.microsoft.com/en-us/training/courses/az-204t00&quot;&gt;Microsoft Learn modules for AZ-204&lt;/a&gt;. They let me explore Azure services in more depth, so that I knew Azure Functions, Logic Apps, and Cosmos DB well.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Skill Validation:&lt;/strong&gt; To check that my knowledge was both broad and practical, I used practice tests from Microsoft and &lt;a href=&quot;https://www.whizlabs.com&quot;&gt;Whizlabs&lt;/a&gt;. The tests showed me where I needed to improve.&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 id=&quot;getting-azure-certified-the-hard-way&quot;&gt;Getting Azure Certified the Hard Way&lt;/h3&gt;
&lt;p&gt;My goal was to understand the material well enough to apply it and teach it.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Developing Custom Training Materials:&lt;/strong&gt; As part of my preparation, I developed my own set of Azure training materials, including PowerPoints and hands-on exercises. This deepened my understanding, and it gave me material I can use when I train client teams.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I follow a simple rule:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;You don’t fully understand something until you can explain it to someone else.&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;That is why I learn the material well enough to explain it to others, whether in training sessions, consultations, or collaborative projects.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Sharing My Insights:&lt;/strong&gt; I have been writing about what I learned in a series of blog posts that will soon be available at &lt;a href=&quot;https://nestenius.se&quot;&gt;https://nestenius.se&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Contributing to the Community:&lt;/strong&gt; I am also working on an open-source project to help developers learn and troubleshoot Azure.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;what-this-means-for-my-clients&quot;&gt;What This Means for My Clients&lt;/h3&gt;
&lt;p&gt;With my Azure development skills now validated, I can help my clients build cloud solutions with more confidence. Whether you need help designing cloud applications, improving your Azure services, or custom training for your team, I can help.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://tn-data.se/contact/&quot;&gt;Contact me&lt;/a&gt; if you want to know more about how I can support your Azure projects.&lt;/strong&gt;&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Announcing .NET Skåne: A New Meetup for .NET Developers in Skåne</title><link>https://tn-data.se/announcing-net-skane-a-new-meetup-for-net-developers-in-skane/</link><guid isPermaLink="false">https://tn-data.se/?p=2244</guid><description>I co-founded a meetup where .NET and C# developers in Skåne share knowledge and meet.</description><pubDate>Thu, 04 Apr 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’m one of the co-founders of .NET Skåne, a new community for .NET and C# developers in the Skåne region. We started it because we like technology and want to bring the developers in our region together.&lt;/p&gt;
&lt;h2 id=&quot;our-mission-build-a-learning-community-for-net-development-in-skåne&quot;&gt;Our Mission: Build A Learning Community for .NET Development in Skåne&lt;/h2&gt;
&lt;p&gt;.NET Skåne is a place to learn and share. We want both experienced developers and people who are new to .NET and C# to exchange ideas, experiences and good practices.&lt;/p&gt;
&lt;h2 id=&quot;the-team-behind-the-vision&quot;&gt;The Team Behind the Vision&lt;/h2&gt;
&lt;p&gt;I run it together with my fellow co-founders Peter Nylander and Mats Alritzson. Between us we know .NET, OpenID Connect, software architecture and several other programming languages, and that is what we want to share with the community.&lt;/p&gt;
&lt;h2 id=&quot;what-net-skåne-offers-to-software-developers-and-it-professionals&quot;&gt;What .NET Skåne Offers to Software Developers and IT Professionals&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Meet other developers who work with .NET and C#.&lt;/li&gt;
&lt;li&gt;Learn from experienced developers, and share your own experiences.&lt;/li&gt;
&lt;li&gt;Help build a supportive community for software development in Skåne.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;how-to-get-involved-with-the-net-skåne-user-community&quot;&gt;How to Get Involved With the .NET Skåne User Community&lt;/h2&gt;
&lt;p&gt;We will post meetups, workshops and networking events as they come up. Everyone is welcome to learn and contribute, whatever their level of experience.&lt;/p&gt;
&lt;h2 id=&quot;join-us&quot;&gt;Join Us&lt;/h2&gt;
&lt;p&gt;We’re just getting started, and we need you. Whether you want to learn, share or just meet other developers, you are welcome at .NET Skåne.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.meetup.com/net-skane/&quot;&gt;Visit our meetup page to join our meetup!&lt;/a&gt;&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Demystifying Authentication in ASP.NET Core</title><link>https://tn-data.se/demystifying-authentication-in-asp-net-core/</link><guid isPermaLink="false">https://tn-data.se/?p=2227</guid><description>I gave this talk at the Copenhagen .NET User Group, and I can give it at your company too, on-site or remote.</description><pubDate>Mon, 12 Feb 2024 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Last week I presented on &lt;strong&gt;ASP.NET Core authentication&lt;/strong&gt; at the &lt;a href=&quot;https://www.meetup.com/copenhagen-net-user-group/&quot;&gt;Copenhagen .NET User Group&lt;/a&gt;. The talk builds up the topic step by step, with both theory and practical code.&lt;/p&gt;
&lt;p&gt;Last year I gave a talk on the same subject at the &lt;a href=&quot;https://www.meetup.com/swenug-goteborg/&quot;&gt;Swenug Göteborg&lt;/a&gt; user group.&lt;/p&gt;
&lt;h2 id=&quot;need-a-talk-on-aspnet-core-authentication&quot;&gt;Need A Talk on ASP.NET Core Authentication?&lt;/h2&gt;
&lt;p&gt;I can give this talk at your company too, on-site or remote, and adapt it to your needs. &lt;a href=&quot;https://tn-data.se/contact/&quot;&gt;Contact me&lt;/a&gt; to arrange a session.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>New C# training classes</title><link>https://tn-data.se/new-c-training-classes/</link><guid isPermaLink="false">https://tn-data.se/?p=2215</guid><description>Courses from C# Introduction to C# Expert, plus asynchronous programming and test-driven development.</description><pubDate>Fri, 02 Feb 2024 00:00:00 GMT</pubDate><content:encoded>&lt;h2 id=&quot;c-courses-from-beginner-to-expert&quot;&gt;C# Courses From Beginner to Expert&lt;/h2&gt;
&lt;p&gt;I now offer a range of new C# training classes, for every level from beginner to advanced.&lt;/p&gt;
&lt;p&gt;The courses are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/csharp-introduction/&quot;&gt;C# Introduction&lt;/a&gt;: for those who are new to C#. It lays the foundation in C# and .NET.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/csharp-fundamentals/&quot;&gt;C# Fundamentals&lt;/a&gt;: a hybrid class that combines parts of C# Introduction and C# – Beyond the Fundamentals.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/csharp-beyond-the-fundamentals/&quot;&gt;C# – Beyond the Fundamentals&lt;/a&gt;: for those who already know the basics and want to go further into C#.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/test-driven-development-in-dotnet/&quot;&gt;Test-Driven Development in .NET&lt;/a&gt;: unit testing and test-driven development in practice.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/csharp-expert/&quot;&gt;C# Expert&lt;/a&gt;: advanced concepts and techniques for experienced C# developers.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/asynchronous-programming-in-csharp/&quot;&gt;Asynchronous Programming in C#&lt;/a&gt;: asynchronous programming in C# in depth, which you need for responsive applications and good performance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;All courses can be delivered on-site or remotely, and they are all up to date with the latest version of C# and .NET.&lt;/p&gt;
&lt;p&gt;Whether you are just starting out or want to build on the skills you have, there is a course for you, with plenty of hands-on exercises.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For more C# and .NET content, visit my &lt;a href=&quot;https://nestenius.se&quot;&gt;blog&lt;/a&gt;.&lt;/strong&gt;&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>New Training Class: Introduction to Containers and Kubernetes</title><link>https://tn-data.se/new-training-class-introduction-to-containers-and-kubernetes/</link><guid isPermaLink="false">https://tn-data.se/?p=1834</guid><description>One day of Docker and the Kubernetes basics, with hands-on exercises.</description><pubDate>Mon, 05 Jun 2023 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;Course details: &lt;a href=&quot;https://tn-data.se/courses/introduction-to-containers-and-kubernetes/&quot;&gt;Introduction to Containers and Kubernetes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’m launching a new training class, “Introduction to Containers and Kubernetes.” Containers have changed the way applications are built, deployed and scaled. In this one-day course you learn the essentials, so you can start building and running your own applications in containers.&lt;/p&gt;
&lt;h2 id=&quot;whats-the-course-all-about&quot;&gt;What’s the course all about?&lt;/h2&gt;
&lt;p&gt;The class is for programmers and IT professionals who want to learn about containers, Docker and Kubernetes. Whether you are an experienced developer or new to the field, you get a solid understanding of containers and how to use them in your work.&lt;/p&gt;
&lt;p&gt;Through hands-on exercises and discussions, you learn the basic concepts, the benefits of containers compared to traditional virtual machines, and the common container runtimes and orchestration tools. You also learn Docker, the leading container platform, and how to package your applications with it.&lt;/p&gt;
&lt;p&gt;Then we go beyond containers to Kubernetes. You learn the fundamentals of Kubernetes, how it orchestrates containers, and how to deploy and manage applications in a Kubernetes cluster.&lt;/p&gt;
&lt;h2 id=&quot;who-should-attend&quot;&gt;Who should attend?&lt;/h2&gt;
&lt;p&gt;Developers and IT professionals who want to add containers to their skill set, whether to deploy applications, scale them, or keep up with how software is built and run today.&lt;/p&gt;
&lt;p&gt;You can see the course and register your interest here: &lt;a href=&quot;https://tn-data.se/courses/introduction-to-containers-and-kubernetes/&quot;&gt;Introduction to Containers and Kubernetes&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Best regards,&lt;/p&gt;
&lt;p&gt;Tore Nestenius&lt;/p&gt;
&lt;h2 id=&quot;other-courses-you-might-like&quot;&gt;Other courses you might like&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/web-security-fundamentals/&quot;&gt;Web Security Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/introduction-to-openid-connect-and-oauth/&quot;&gt;Introduction to OpenID Connect and OAuth&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/introduction-to-identityserver-and-openid-connect/&quot;&gt;Introduction to IdentityServer and OpenID Connect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/introduction-to-git-and-github/&quot;&gt;Introduction to Git and GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Announcing a new “Introduction to OpenID Connect and OAuth” course</title><link>https://tn-data.se/announcing-a-new-introduction-to-openid-connect-and-oauth-course/</link><guid isPermaLink="false">https://tn-data.se/?p=1363</guid><description>A one-day course on the fundamentals of token-based authentication.</description><pubDate>Thu, 15 Dec 2022 00:00:00 GMT</pubDate><content:encoded>&lt;h1 id=&quot;new-introduction-to-openid-connect-and-oauth-course&quot;&gt;New Introduction to OpenID Connect and OAuth course&lt;/h1&gt;
&lt;p&gt;I’m now offering a new course, &lt;strong&gt;Introduction to OpenID Connect and OAuth&lt;/strong&gt;. You can find it &lt;a href=&quot;https://tn-data.se/courses/introduction-to-openid-connect-and-oauth/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;OpenID Connect and token-based authentication have become the standard way to secure applications. This course introduces the topics and explains how they work, so you can get the most out of them.&lt;/p&gt;
&lt;h2 id=&quot;why-i-made-the-openid-connect--oauth-course&quot;&gt;Why I Made the OpenID Connect &amp;#x26; OAuth Course&lt;/h2&gt;
&lt;p&gt;I have been training developers since 2010, and when I talk to developers, I see a need for a better understanding of &lt;a href=&quot;https://tn-data.se/openid-connect/&quot;&gt;how OpenID Connect works&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The problem with token-based authentication is that it is a complex area, with many moving parts working together to secure your application. For a beginner it can feel like a labyrinth, as you can see below:&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;new Introduction to OpenID Connect and OAuth course&quot; sizes=&quot;(max-width: 860px) 100vw, 764px&quot; loading=&quot;lazy&quot; decoding=&quot;async&quot; width=&quot;764&quot; height=&quot;773&quot; src=&quot;https://tn-data.se/_astro/OIDC-maze-1.mJkCn5-T_ZLgmSK.webp&quot; srcset=&quot;/_astro/OIDC-maze-1.mJkCn5-T_Z1kGNGW.webp 400w, /_astro/OIDC-maze-1.mJkCn5-T_ZLgmSK.webp 764w&quot;&gt;&lt;/p&gt;
&lt;p&gt;So I created this course, to teach developers the fundamentals of how these techniques and concepts work and how they fit into their own architecture.&lt;/p&gt;
&lt;p&gt;I like helping developers. Besides training, I also help others with these topics on &lt;a href=&quot;https://stackoverflow.com/users/68490/tore-nestenius&quot;&gt;Stack Overflow&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&quot;what-does-the-oidc--oauth-course-cover&quot;&gt;What Does the OIDC &amp;#x26; OAuth Course Cover?&lt;/h2&gt;
&lt;p&gt;The course covers everything from why we need these protocols to how they work under the hood, in theory and in practice. In the hands-on exercises, you observe how the parts talk to each other over HTTP. You make your own requests against my authorization server and explore the different flows used to get the tokens. That way you learn how to implement this in your own software architecture.&lt;/p&gt;
&lt;h2 id=&quot;oidc-and-oauth-for-developers-and-architects&quot;&gt;OIDC and OAuth for Developers and Architects&lt;/h2&gt;
&lt;p&gt;The course is for developers and architects who want to learn the fundamentals of token-based authentication with OAuth 2 and OpenID Connect, and how to apply them in their own organizations.&lt;/p&gt;
&lt;h3 id=&quot;what-should-i-look-at-after-taking-this-class&quot;&gt;What should I look at after taking this class?&lt;/h3&gt;
&lt;p&gt;OpenID Connect is one piece of the puzzle when you build secure and reliable web applications. After this course, I recommend these related courses:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/introduction-to-identityserver-and-openid-connect/&quot;&gt;Introduction to IdentityServer and OpenID Connect&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tn-data.se/courses/web-security-fundamentals/&quot;&gt;Web Security Fundamentals&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I also have a dedicated page &lt;a href=&quot;https://tn-data.se/openid-connect/&quot;&gt;introducing OIDC&lt;/a&gt;, and I am available for mentoring and consulting. My main expertise is .NET with &lt;a href=&quot;https://duendesoftware.com/&quot;&gt;Duende IdentityServer&lt;/a&gt;. If you want to know more about the course, you can find it here: &lt;a href=&quot;https://tn-data.se/courses/introduction-to-openid-connect-and-oauth/&quot;&gt;Introduction to OpenID Connect and OAuth&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For the complete list of what I teach, see my &lt;a href=&quot;https://tn-data.se/training/&quot;&gt;training courses&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item><item><title>Announcing a new “Introduction to Git and GitHub” course</title><link>https://tn-data.se/announcing-a-new-introduction-to-git-and-github-course/</link><guid isPermaLink="false">https://tn-data.se/?p=1180</guid><description>How Git works, from commits and branches to merging and pull requests.</description><pubDate>Thu, 29 Sep 2022 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;I’m now offering a new Introduction to Git and GitHub course. Git and GitHub have become the standard tools for version control, for developers and IT professionals all over the world.&lt;/p&gt;
&lt;h2 id=&quot;why-did-i-create-the-introduction-to-git-and-github-course&quot;&gt;Why did I create the Introduction to Git and GitHub course?&lt;/h2&gt;
&lt;p&gt;I have been training developers since 2010, and when I talk to developers, I see a need for a better understanding of how Git works. So I created this course, to teach developers the core concepts of Git and how to use GitHub to work together as a team.&lt;/p&gt;
&lt;h2 id=&quot;what-does-this-github-course-for-developers-cover&quot;&gt;What does this GitHub course for developers cover?&lt;/h2&gt;
&lt;p&gt;The course covers everything from how Git works under the hood to how to make commits and pull requests. You learn good ways to manage version control and to work together with your team in your daily work.&lt;/p&gt;
&lt;h2 id=&quot;a-github-course-for-developers-and-it-professionals&quot;&gt;A GitHub Course for Developers and IT Professionals&lt;/h2&gt;
&lt;p&gt;This course is for developers and IT professionals who want to use Git and GitHub well in their day-to-day work. It also suits project managers, designers, testers, and anyone who wants to work better with their technical colleagues.&lt;/p&gt;
&lt;p&gt;If you want to know more about the course, &lt;a href=&quot;https://tn-data.se/courses/introduction-to-git-and-github/&quot;&gt;go here&lt;/a&gt;. For the complete list of what I teach, &lt;a href=&quot;https://tn-data.se/training/&quot;&gt;go here&lt;/a&gt;.&lt;/p&gt;</content:encoded><dc:creator>Tore Nestenius</dc:creator></item></channel></rss>