<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd" xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://stan-blog.stanli.site/posts/welcome-to-my-blog/</loc>
<lastmod>2026-02-28T23:33:37+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/Bullet-Points-Vanished/</loc>
<lastmod>2026-03-03T18:19:26+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/10-line/</loc>
<lastmod>2026-03-03T18:07:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/two-factor-authentication/</loc>
<lastmod>2026-04-07T23:27:45+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/kek-dek-totp/</loc>
<lastmod>2026-04-07T23:27:45+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-hotp-background/</loc>
<lastmod>2026-04-07T23:27:45+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/encryption-hashing-explained/</loc>
<lastmod>2026-04-07T23:27:45+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/aes-256-modes-explained/</loc>
<lastmod>2026-04-10T11:38:27+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/mui-layout-components/</loc>
<lastmod>2026-04-11T23:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/building-a-react-code-input-with-mui/</loc>
<lastmod>2026-04-20T11:20:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/react-useref-deep-dive/</loc>
<lastmod>2026-04-20T14:10:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-1-introduction-to-2fa/</loc>
<lastmod>2026-04-27T10:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-2-backend-architecture/</loc>
<lastmod>2026-04-27T10:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-3-kek-rotation/</loc>
<lastmod>2026-04-27T11:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-4-replay-protection/</loc>
<lastmod>2026-04-27T11:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-5-admin-reset/</loc>
<lastmod>2026-04-27T12:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-6-learner-ui/</loc>
<lastmod>2026-04-27T12:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-7-verification-flow/</loc>
<lastmod>2026-04-27T13:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-8-self-reset/</loc>
<lastmod>2026-04-27T13:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-9-admin-policy/</loc>
<lastmod>2026-04-27T14:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/totp-series-10-best-practices/</loc>
<lastmod>2026-04-27T14:30:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-01-enterprise-architecture/</loc>
<lastmod>2026-04-27T18:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-02-admin-attribute-mapping/</loc>
<lastmod>2026-04-27T18:05:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-03-enforced-linking-architecture/</loc>
<lastmod>2026-04-27T18:10:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-04-oidc-callback-validation/</loc>
<lastmod>2026-04-27T18:15:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-05-saml-integration/</loc>
<lastmod>2026-04-27T18:20:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/sso-series-06-sp-initiated-slo/</loc>
<lastmod>2026-04-27T18:25:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/posts/beginner-sso-guide-bilingual/</loc>
<lastmod>2026-04-28T10:00:00+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/</loc>
<lastmod>2026-04-28T18:06:26+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/</loc>
<lastmod>2026-04-28T18:06:26+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/archives/</loc>
<lastmod>2026-04-28T18:06:26+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/about/</loc>
<lastmod>2026-04-28T18:06:26+08:00</lastmod>
</url>
<url>
<loc>https://stan-blog.stanli.site/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/greeting/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/css/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/debug/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/javascript/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/security/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/2fa/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/authentication/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/assisted-by-ai/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/totp/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/kek/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/dek/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/encryption/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/password-manager/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/hotp/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/otp/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/symmetric/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/asymmetric/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/hashing/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/aes/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/gcm/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/mui/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/react/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/layout/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/box/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/stack/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/grid/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/frontend/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/components/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/forms/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/ux/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/hooks/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/useref/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/dom/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/architecture/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/algorithm/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/rfc/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/hmac/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/base32/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/backend/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/database/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/nestjs/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/typeorm/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/clean-code/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/key-rotation/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/memory-management/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/nist/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/replay-protection/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/clock-sync/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/algorithms/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/redis/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/lua/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/api/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/rbac/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/admin/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/bullmq/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/queue/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/ui/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/code-input/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/qrcode/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/user-experience/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/typescript/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/react-router/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/axios/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/session-storage/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/self-service/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/password-verification/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/sudo-mode/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/brute-force/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/sequence-diagram/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/best-practices/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/summary/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/nodejs/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/sso/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/oauth2/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/oidc/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/saml/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/design-patterns/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/configuration/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/mapping-engine/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/account-linking/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/jwt/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/jwks/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/xml/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/slo/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/logout/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/session-management/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/beginner/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/tags/mermaid/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/stan-blog/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/greeting/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/frontend/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/css/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/language/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/javascript/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/security/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/technology/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/mui/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/react/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/totp-series/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/backend/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/categories/sso-series/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/page2/</loc>
</url>
<url>
<loc>https://stan-blog.stanli.site/page3/</loc>
</url>
</urlset>
