<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Authentication plugins on Atlas</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/</link><description>Recent content in Authentication plugins on Atlas</description><generator>Hugo -- gohugo.io</generator><language>en</language><lastBuildDate>Sun, 26 Jul 2026 00:00:00 +0200</lastBuildDate><atom:link href="https://www.javiercd.es/en/posts/kong/plugins-autenticacion/index.xml" rel="self" type="application/rss+xml"/><item><title>Basic Auth in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/10-autenticacion-basic-auth/10-autenticacion-basic-auth/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/10-autenticacion-basic-auth/10-autenticacion-basic-auth/</guid><description>&lt;p&gt;Basic Authentication may seem like a trivial mechanism because it only uses a username and a password. However, using it correctly means separating three ideas: the HTTP standard, the validation performed by Kong Gateway, and the identity that Kong associates with valid credentials.&lt;/p&gt;
&lt;p&gt;In this article we will look at those three layers and build a reproducible lab with Kong Ingress Controller. The goal is not simply to copy files and blindly apply them. First we will understand what each resource represents, then we will apply it, and finally we will check what happens inside Kong.&lt;/p&gt;</description></item><item><title>Key Auth in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/11-autenticacion-key-auth/11-autenticacion-key-auth/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/11-autenticacion-key-auth/11-autenticacion-key-auth/</guid><description>&lt;p&gt;An API key may look like little more than a random string that a client adds to every request. To use it correctly, however, it helps to separate three ideas: the credential presented by the client, the validation performed by Kong Gateway, and the identity of the Consumer associated with that credential.&lt;/p&gt;
&lt;p&gt;This article covers those three layers and builds a reproducible lab with Kong Ingress Controller. We will first understand each resource, then apply it, and finally verify what happens inside Kong.&lt;/p&gt;</description></item><item><title>HMAC Auth in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/12-autenticacion-hmac-auth/12-autenticacion-hmac-auth/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/12-autenticacion-hmac-auth/12-autenticacion-hmac-auth/</guid><description>&lt;p&gt;HMAC Authentication proves that a request was created by a client that knows a shared secret without sending that secret in the request. In addition to authenticating the client, the signature detects changes to the signed elements while they are in transit.&lt;/p&gt;
&lt;p&gt;This article explains how an HMAC signature is built and validated by Kong Gateway, and how the Consumer relates to its credential. We then build a reproducible Kong Ingress Controller lab and protect &lt;code&gt;/hmac-auth&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>JWT Auth in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/13-autenticacion-jwt/13-autenticacion-jwt/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/13-autenticacion-jwt/13-autenticacion-jwt/</guid><description>&lt;p&gt;A JSON Web Token carries claims about an identity inside a signed token. Kong can verify its signature and time constraints before the request reaches the backend.&lt;/p&gt;
&lt;p&gt;This article separates the token structure, the cryptographic credential stored in Kong, and the Consumer representing the client. We then build a reproducible Kong Ingress Controller lab with an HS256-signed JWT and a &lt;code&gt;/jwt&lt;/code&gt; route.&lt;/p&gt;
&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;p&gt;This lab continues directly from &lt;a href="https://www.javiercd.es/posts/kong/03-instalacion-kic/03-instalacion-kic/"&gt;Installing KIC&lt;/a&gt;. It reuses the &lt;code&gt;kong&lt;/code&gt; Gateway, the &lt;code&gt;echo&lt;/code&gt; Service, and the &lt;code&gt;192.168.121.200&lt;/code&gt; address assigned by MetalLB to &lt;code&gt;kong-gateway-proxy&lt;/code&gt;.&lt;/p&gt;</description></item><item><title>OAuth 2.0 Token Introspection in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/14-autenticacion-oauth2-introspection/14-autenticacion-oauth2-introspection/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/14-autenticacion-oauth2-introspection/14-autenticacion-oauth2-introspection/</guid><description>&lt;p&gt;Kong Enterprise includes an official OAuth 2.0 Introspection plugin, but it requires a license. In this lab, we will overcome that limitation by installing an open community or free-software plugin on Kong Gateway 3.10.&lt;/p&gt;
&lt;p&gt;In addition to the plugin, we will deploy Keycloak in Kubernetes. Keycloak will issue access tokens through &lt;code&gt;client_credentials&lt;/code&gt; and expose the introspection endpoint defined by RFC 7662. Every response shown in this article comes from this real scenario.&lt;/p&gt;</description></item><item><title>OpenID Connect in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/15-autenticacion-openid-connect/15-autenticacion-openid-connect/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/15-autenticacion-openid-connect/15-autenticacion-openid-connect/</guid><description>&lt;p&gt;Kong&amp;rsquo;s official OpenID Connect plugin requires an Enterprise license. In this lab, we use the open community or free-software &lt;a href="https://github.com/cuongntr/kong-openid-connect-plugin" target="_blank" rel="noopener"&gt;&lt;code&gt;cuongntr/kong-openid-connect-plugin&lt;/code&gt;&lt;/a&gt; adapter on top of &lt;a href="https://github.com/zmartzone/lua-resty-openidc" target="_blank" rel="noopener"&gt;&lt;code&gt;lua-resty-openidc&lt;/code&gt;&lt;/a&gt; to complete an Authorization Code flow without a license.&lt;/p&gt;
&lt;p&gt;We will deploy a separate Keycloak instance in Kubernetes, log in with a real user, and verify both the callback and cookie reuse. Every response in this article comes from the lab VM.&lt;/p&gt;
&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;p&gt;This lab continues from &lt;a href="https://www.javiercd.es/posts/kong/03-instalacion-kic/03-instalacion-kic/"&gt;Installing KIC&lt;/a&gt;. It reuses the &lt;code&gt;kong&lt;/code&gt; Gateway, the &lt;code&gt;echo&lt;/code&gt; Service, KIC &lt;code&gt;3.5&lt;/code&gt;, and &lt;code&gt;192.168.121.200&lt;/code&gt; as the &lt;code&gt;kong-gateway-proxy&lt;/code&gt; address.&lt;/p&gt;</description></item><item><title>SAML in Kong through Keycloak</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/16-autenticacion-saml/16-autenticacion-saml/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/16-autenticacion-saml/16-autenticacion-saml/</guid><description>&lt;p&gt;Kong&amp;rsquo;s official &lt;a href="https://developer.konghq.com/plugins/saml/" target="_blank" rel="noopener"&gt;&lt;code&gt;saml&lt;/code&gt;&lt;/a&gt; plugin requires an Enterprise license. After reviewing the open community and free-software alternatives, I could not find a direct, maintained SAML plugin compatible with Kong 3.x that would be responsible to recommend.&lt;/p&gt;
&lt;p&gt;This lab therefore uses a different, fully open architecture: Keycloak acts as the SAML Service Provider and identity broker, while Kong uses the open community or free-software &lt;code&gt;kong-openid-connect&lt;/code&gt; plugin installed in the previous article. User authentication still performs a real SAML request and response. Keycloak validates the signed XML and returns an OpenID Connect Authorization Code to Kong.&lt;/p&gt;</description></item><item><title>Session in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/17-autenticacion-session/17-autenticacion-session/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/17-autenticacion-session/17-autenticacion-session/</guid><description>&lt;p&gt;The Session plugin lets an authenticated client reuse its identity through a cookie. It does not authenticate clients on its own and must work alongside another mechanism that validates the first request.&lt;/p&gt;
&lt;p&gt;This lab combines Session with Key Auth. The first request presents an API key, Kong creates a session, and later requests use only the cookie. We also configure an explicit anonymous branch to prevent requests without either credential from reaching the backend.&lt;/p&gt;</description></item><item><title>LDAP Auth in Kong</title><link>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/18-autenticacion-ldap/18-autenticacion-ldap/</link><pubDate>Sun, 26 Jul 2026 00:00:00 +0200</pubDate><guid>https://www.javiercd.es/en/posts/kong/plugins-autenticacion/18-autenticacion-ldap/18-autenticacion-ldap/</guid><description>&lt;p&gt;LDAP Authentication lets Kong validate a username and password directly against a corporate directory. The backend does not receive those credentials and does not need to implement LDAP.&lt;/p&gt;
&lt;p&gt;This article explains how the authentication header is built, how Kong locates the user in the directory, and how to protect &lt;code&gt;/ldap-auth&lt;/code&gt; through Kong Ingress Controller.&lt;/p&gt;
&lt;div class="alert info"&gt;
&lt;span&gt;&lt;i data-feather="info"&gt;&lt;/i&gt;&lt;/span&gt;
&lt;span&gt;&lt;strong&gt;&lt;p&gt;This lab continues from &lt;a href="https://www.javiercd.es/posts/kong/03-instalacion-kic/03-instalacion-kic/"&gt;Installing KIC&lt;/a&gt;. It reuses the &lt;code&gt;kong&lt;/code&gt; Gateway, the &lt;code&gt;echo&lt;/code&gt; Service, and the &lt;code&gt;192.168.121.200&lt;/code&gt; address assigned by MetalLB to &lt;code&gt;kong-gateway-proxy&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>