<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ET's Blog]]></title><description><![CDATA[Etienne Gauthier's Blog]]></description><link>https://www.etiennegauthier.blog/blog</link><generator>RSS for Node</generator><lastBuildDate>Mon, 25 May 2026 04:44:03 GMT</lastBuildDate><atom:link href="https://www.etiennegauthier.blog/blog-feed.xml" rel="self" type="application/rss+xml"/><item><title><![CDATA[Keycloak series | #3: Secure your API with JWT.]]></title><description><![CDATA[Securing APIs is a critical step in building modern web applications. When your frontend uses Keycloak for authentication via OpenID Connect (OIDC), it’s essential to protect your backend API by validating the JWT tokens it receives. This post explains how to secure your API with JWT tokens issued by Keycloak, focusing on a Blazor Server frontend that handles authentication and passes the token to the API for authorization and expiration checks. Configure Keycloak for the next step From what...]]></description><link>https://www.etiennegauthier.blog/post/keycloak-series-3-secure-your-api-with-jwt</link><guid isPermaLink="false">69adb44307e75fffe176c2b9</guid><category><![CDATA[Web Authentication]]></category><category><![CDATA[Identity Management]]></category><pubDate>Tue, 24 Mar 2026 15:30:15 GMT</pubDate><enclosure url="https://static.wixstatic.com/media/9cf90b_664fc0a45d424735b850361e7413c56e~mv2.png/v1/fit/w_1000,h_1000,al_c,q_80/file.png" length="0" type="image/png"/><dc:creator>cymansys</dc:creator></item><item><title><![CDATA[Keycloak series | #2: Integrating Google and GitHub for Seamless Social Media Authentication]]></title><description><![CDATA[Integrating social media authentication into your applications can significantly improve user experience by simplifying login processes. In this second part of our series on Keycloak, I will walk you through how to set up Google and GitHub as identity providers. This will help you leverage Keycloak’s open source capabilities to enable secure, scalable authentication using OIDC standards, especially useful when working with modern frameworks like .NET 10. Why Use Google and GitHub for...]]></description><link>https://www.etiennegauthier.blog/post/keycloak-series-2-integrating-google-and-github-for-seamless-social-media-authentication</link><guid isPermaLink="false">699232eb743e81fba75c95ee</guid><category><![CDATA[Web Authentication]]></category><category><![CDATA[Identity Management]]></category><pubDate>Tue, 24 Feb 2026 16:01:11 GMT</pubDate><enclosure url="https://static.wixstatic.com/media/9cf90b_6485270a921c4b75ba9047ab50ac83ae~mv2.png/v1/fit/w_1000,h_768,al_c,q_80/file.png" length="0" type="image/png"/><dc:creator>cymansys</dc:creator></item><item><title><![CDATA[Keycloak series | #1: Introduction to Keycloak with Blazor]]></title><description><![CDATA[When building modern web applications, managing user authentication securely and efficiently is a top priority. If you are a .NET developer working with Aspire and Blazor Server, you might have heard about Keycloak as a popular open-source identity and access management solution. Keycloak supports OpenID Connect (OIDC), making it a powerful tool to handle authentication without reinventing the wheel. This post is the first in a series where I’ll introduce you to Keycloak, explain its core...]]></description><link>https://www.etiennegauthier.blog/post/getting-started-with-keycloak-an-introductory-guide-for-aspire-and-blazor-server</link><guid isPermaLink="false">69818b2b889819a51f0630ee</guid><category><![CDATA[Web Authentication]]></category><category><![CDATA[Blazor Development]]></category><category><![CDATA[Identity Management]]></category><pubDate>Tue, 17 Feb 2026 16:00:56 GMT</pubDate><enclosure url="https://static.wixstatic.com/media/9cf90b_cb9a2bf970954527b4a1787bd55a7fa4~mv2.png/v1/fit/w_1000,h_768,al_c,q_80/file.png" length="0" type="image/png"/><dc:creator>Etienne Gauthier</dc:creator></item></channel></rss>