<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://mnafshin.info</loc>
    <lastmod>2026-08-30T20:56:23.958Z</lastmod>
    <changefreq>always</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/oauth-with-spas-and-a-shared-bff</loc>
    <lastmod>2026-07-05T20:01:39.241Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/keycloak-integration-end-to-end</loc>
    <lastmod>2026-07-05T19:56:01.828Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/oauth-in-plain-java</loc>
    <lastmod>2026-07-05T19:50:25.687Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/oauth-with-spring-security</loc>
    <lastmod>2026-07-05T19:47:44.260Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/oauth-mistakes-in-production</loc>
    <lastmod>2026-07-04T13:24:29.090Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/identity-providers-are-not-the-complete-solution</loc>
    <lastmod>2026-07-04T08:08:43.800Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/authorization-code-pkce</loc>
    <lastmod>2026-07-02T23:29:01.930Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/the-oauth-mental-model</loc>
    <lastmod>2026-07-02T23:23:07.152Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/why-oauth-exists</loc>
    <lastmod>2026-07-02T23:20:27.318Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/stop-inventing-error-json-a-practical-guide-to-rfc-7807-problem-details</loc>
    <lastmod>2026-06-29T23:02:50.569Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/idempotency-patterns-create-orders-exactly-once-with-retries</loc>
    <lastmod>2026-05-09T15:19:34.697Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/multi-tenancy-architecture-in-spring-boot</loc>
    <lastmod>2026-05-09T11:08:51.495Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/java-synchronization-mechanisms-a-comprehensive-comparison</loc>
    <lastmod>2026-02-16T01:15:54.688Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/debugging-java-ssltls-connections-a-guide-to-javaxnetdebug</loc>
    <lastmod>2026-02-01T22:12:00.966Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/series/oauth</loc>
    <lastmod>2026-08-30T20:56:23.958Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/archive</loc>
    <lastmod>2026-08-30T20:56:23.958Z</lastmod>
    <changefreq>daily</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://mnafshin.info/recommendations</loc>
    <lastmod>2026-08-30T20:56:23.958Z</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>
</urlset>