{
    "componentChunkName": "component---src-templates-blog-home-js",
    "path": "/blog",
    "result": {"pageContext":{"postsAsHTMLString":{"all":"\n      <a href=\"/blog/passkeys-vs-passwords-vs-magic-links\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/passkeys-vs-passwords-vs-magic-links.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 25, 2026</p>\n        <h2 class=\"blog-card__title\">Passkeys vs. Passwords vs. Magic Links: Choosing the Right Authentication Method</h2>\n        <p class=\"blog-card__excerpt\">Passwords, magic links, OTP, and passkeys compared on phishing resistance, UX friction, and recovery, with a framework for picking one.</p>\n      </a>\n    \n      <a href=\"/blog/what-are-passkeys\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/what-are-passkeys.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 23, 2026</p>\n        <h2 class=\"blog-card__title\">What Are Passkeys? A Developer's Guide to WebAuthn and FIDO2</h2>\n        <p class=\"blog-card__excerpt\">A developer's guide to passkeys: what they are cryptographically, how WebAuthn and FIDO2 fit together, and where the real trade-offs live.</p>\n      </a>\n    \n      <a href=\"/blog/auth-for-ai-agents\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/auth-for-ai-agents.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2026</p>\n        <h2 class=\"blog-card__title\">AI Agent Authentication: Scoped Tokens, MCP, and Per-Action Authorization</h2>\n        <p class=\"blog-card__excerpt\">AI agent authentication explained: scoped tokens, MCP OAuth 2.1 requirements, and per-action authorization gates.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-flows\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-flows.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 09, 2026</p>\n        <h2 class=\"blog-card__title\">OAuth Flows Explained: How They Work and When to Use Them</h2>\n        <p class=\"blog-card__excerpt\">Understand different OAuth flows, when to use each, and how SuperTokens supports secure OAuth integration.</p>\n      </a>\n    \n      <a href=\"/blog/session-hijacking-fixation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/session-hijacking-fixation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 08, 2026</p>\n        <h2 class=\"blog-card__title\">Mastering Session Security: SuperTokens’ Attack Mitigation</h2>\n        <p class=\"blog-card__excerpt\">Stop session hijacking and fixation with a layered plan: timeouts, cookie flags, rotation, and SuperTokens’ theft detection for secure authentication sessions.</p>\n      </a>\n    \n      <a href=\"/blog/webauthin-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/webauthn_api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 09, 2026</p>\n        <h2 class=\"blog-card__title\">What Is the WebAuthn API (and How to Use It in Your Auth Flow)</h2>\n        <p class=\"blog-card__excerpt\">Learn how the WebAuthn API enables passwordless, phishing-resistant login. Get step-by-step code and how to plug it into your auth stack.</p>\n      </a>\n    \n      <a href=\"/blog/react-bootstrap-forms\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/react-bootstrap-forms.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 26, 2026</p>\n        <h2 class=\"blog-card__title\">Create Responsive, Accessible Forms with React Bootstrap</h2>\n        <p class=\"blog-card__excerpt\">A step-by-step guide to building, validating, and styling forms in React using the react-bootstrap library.</p>\n      </a>\n    \n      <a href=\"/blog/saml-vs-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/saml-vs-sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 22, 2026</p>\n        <h2 class=\"blog-card__title\">SAML vs. SSO: What's the Difference, How They Work Together, and Which One You Actually Need</h2>\n        <p class=\"blog-card__excerpt\">SAML and SSO aren't the same thing. Learn the key differences, how SAML-based SSO works step by step, when to use SAML vs. OIDC, and how to implement it with SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/evergreen-hosting-announcement\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/evergreen-hosting-announcement.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 07, 2026</p>\n        <h2 class=\"blog-card__title\">Introducing Evergreen Hosting: Automatic Upgrades for SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">SuperTokens managed instances will now automatically receive stable upgrades with zero downtime, instant rollback, and continuous monitoring</p>\n      </a>\n    \n      <a href=\"/blog/secure-multi-tenant-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/secure-multi-tenant-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 20, 2026</p>\n        <h2 class=\"blog-card__title\">Secure Multi-Tenant Authentication: SaaS RBAC with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">For B2B SaaS and platform builders shipping tenant-aware authentication, SSO, and least-privilege access with open-source ergonomics and enterprise guarantees.</p>\n      </a>\n    \n      <a href=\"/blog/the-hidden-cost-of-building-your-own-auth-stacks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-hidden-cost-of-building-your-own-auth-stacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 20, 2026</p>\n        <h2 class=\"blog-card__title\">The Hidden Costs of Building Your Own Authentication Stacks</h2>\n        <p class=\"blog-card__excerpt\">Building authentication in-house drains time, money, and focus. See the hidden costs and why SuperTokens slashes them.</p>\n      </a>\n    \n      <a href=\"/blog/self-hosted-auth-solutions-in-2026\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/self-hosted_authentication_2026.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 07, 2026</p>\n        <h2 class=\"blog-card__title\">Best Self-Hosted Authentication Solutions in 2026</h2>\n        <p class=\"blog-card__excerpt\">Compare the leading self-hosted authentication platforms for 2026 — scalability, control, cost, and developer-experience highlight how SuperTokens stands out.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-ban-users\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-ban-users.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 22, 2026</p>\n        <h2 class=\"blog-card__title\">How to Ban Users in Your Web App By Using SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to ban or suspend users in your web app by using SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/scim-provisioning-explained\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/scim-provisioning-explained.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 21, 2026</p>\n        <h2 class=\"blog-card__title\">SCIM Provisioning Explained: The Definitive Guide for Enterprise SaaS (2026)</h2>\n        <p class=\"blog-card__excerpt\">Learn SCIM provisioning, implementation, edge cases, pricing impact, and how to build it with SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/supertoknes-rownd-business-line-acquisition\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-rownd-acquisition.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2026</p>\n        <h2 class=\"blog-card__title\">SuperTokens and Rownd Announce Transition of Rownd Authentication Customers</h2>\n        <p class=\"blog-card__excerpt\">SuperTokens and Rownd announce that SuperTokens has acquired the Rownd Authentication business line</p>\n      </a>\n    \n      <a href=\"/blog/auth0-open-source\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-open-source.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 09, 2026</p>\n        <h2 class=\"blog-card__title\">Auth0 Open Source (2026): What's Free and What Are The Top OSS Alternatives</h2>\n        <p class=\"blog-card__excerpt\">Is Auth0 open source? What actually is OSS, and which open-source Auth0 alternatives (Keycloak, Ory, SuperTokens) fit your stack in 2026?</p>\n      </a>\n    \n      <a href=\"/blog/build-vs-buy\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/build-vs-buy.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 09, 2026</p>\n        <h2 class=\"blog-card__title\">Build vs. Buy Identity Management: 2026 Decision Matrix</h2>\n        <p class=\"blog-card__excerpt\">How to choose build, buy, or a hybrid approach for identity with a 2026 decision matrix, TCO cues, and risk checks drawn from today’s top resources.</p>\n      </a>\n    \n      <a href=\"/blog/mfa-react\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/add_mfa_to_react.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 09, 2026</p>\n        <h2 class=\"blog-card__title\">Add MFA to React Fast with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Secure your React app with multi-factor authentication in minutes. Learn MFA options, setup steps, and best practices using SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/migrate-from-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/migrate-from-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 27, 2026</p>\n        <h2 class=\"blog-card__title\">How to Migrate from Auth0 Securely and Efficiently</h2>\n        <p class=\"blog-card__excerpt\">Learn how to migrate from Auth0 to SuperTokens by using lazy, automatic, or trickle migration. Includes secure export steps, pricing insights, and implementation tips.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-alternatives-for-large-enterprises\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-alternatives-for-large-enterprises.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 21, 2026</p>\n        <h2 class=\"blog-card__title\">7 Leading Auth0 Alternatives for Large Enterprises in 2026</h2>\n        <p class=\"blog-card__excerpt\">This blog aims to highlight the leading enterprise-ready Auth0 alternatives—what they do best, where they trade off, and how to choose based on your operational model and risk posture.</p>\n      </a>\n    \n      <a href=\"/blog/clerk-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 16, 2026</p>\n        <h2 class=\"blog-card__title\">Clerk Pricing (2026): Free Tier, Costs, and Hidden Fees Explained</h2>\n        <p class=\"blog-card__excerpt\">A deep dive into Clerk pricing in 2026 — including the 50K free user tier, organization costs, real-world examples, hidden fees, and comparison with Auth0 and SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/cheapest-auth-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cheapest-auth-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 13, 2026</p>\n        <h2 class=\"blog-card__title\">Cheapest Auth0 Alternatives (2026): Open Source and Low-Cost Picks</h2>\n        <p class=\"blog-card__excerpt\">Looking for the cheapest Auth0 alternatives? See free and low-cost options (OSS + managed), pricing gotchas, and when SuperTokens is the better fit.</p>\n      </a>\n    \n      <a href=\"/blog/better-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/better-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 26, 2026</p>\n        <h2 class=\"blog-card__title\">What Is Better Auth and Who's It For?</h2>\n        <p class=\"blog-card__excerpt\">Explore Better Auth's authentication features, its suitability for various projects, and key considerations for implementation.</p>\n      </a>\n    \n      <a href=\"/blog/fideo2-and-u2f-differences\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/fido2-vs-u2f.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 17, 2026</p>\n        <h2 class=\"blog-card__title\">FIDO2 vs U2F 5 Key Differences Explained</h2>\n        <p class=\"blog-card__excerpt\">Understand the differences between FIDO2 and U2F. Learn how each works, where they apply, and which authentication standard to choose.</p>\n      </a>\n    \n      <a href=\"/blog/clerk-migration\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-migration.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 12, 2026</p>\n        <h2 class=\"blog-card__title\">How to Migrate from Clerk Efficiently and Safely</h2>\n        <p class=\"blog-card__excerpt\"> Step-by-step guide on migrating from Clerk to SuperTokens—covering trickle, bulk import, export scripts, sessions, and security.</p>\n      </a>\n    \n      <a href=\"/blog/frontegg-vs-auth0-vs-fusionauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/frontegg-vs-auth0-vs-fusionauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 05, 2026</p>\n        <h2 class=\"blog-card__title\">Frontegg vs. Auth0 vs. FusionAuth – Which Authentication Platform Fits Your Needs?</h2>\n        <p class=\"blog-card__excerpt\"> This guide breaks down what matters most when choosing between Frontegg, Auth0 and FusionAuth. We discusstheir strengths and limitations, and help you pick the one that fits your technical stack and business goals.</p>\n      </a>\n    \n      <a href=\"/blog/captcha-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/captcha-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 26, 2025</p>\n        <h2 class=\"blog-card__title\">How Do I Add CAPTCHA to My Login Page?</h2>\n        <p class=\"blog-card__excerpt\"> Learn how to add CAPTCHA to login and signup pages, protect your app from bots, and see how SuperTokens makes it simple.</p>\n      </a>\n    \n      <a href=\"/blog/best-mfa-solutions-2025\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/best-mfa-solutions-compared.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 10, 2025</p>\n        <h2 class=\"blog-card__title\">Best MFA Solutions Compared (2025 Guide)</h2>\n        <p class=\"blog-card__excerpt\">Compare the best MFA solutions in 2025: features, costs, and trade-offs. Includes insights from SuperTokens’ MFA cost guide.</p>\n      </a>\n    \n      <a href=\"/blog/passkey-examples\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passkey-examples.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2025</p>\n        <h2 class=\"blog-card__title\">Passkey Examples: Real-World Use Cases and Implementation</h2>\n        <p class=\"blog-card__excerpt\">Discover real-world passkey examples across Apple, Google, Coinbase, iPhone, PHP, and more, plus step-by-step implementation guidance.</p>\n      </a>\n    \n      <a href=\"/blog/enterprise-identity-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/EIM.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 05, 2025</p>\n        <h2 class=\"blog-card__title\">Enterprise Identity Management What You Need to Know in 2025</h2>\n        <p class=\"blog-card__excerpt\">Explore how enterprise identity management works, the challenges it solves, and what features modern orgs need for secure, scalable access control.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-on-vercel\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-on-vercel.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2025</p>\n        <h2 class=\"blog-card__title\">Deploying SuperTokens on Vercel with Next.js</h2>\n        <p class=\"blog-card__excerpt\">Step-by-step guide to deploying SuperTokens authentication on Vercel with Next.js. Learn setup, environment config, API routes, and deployment tips.</p>\n      </a>\n    \n      <a href=\"/blog/solidjs-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/solidjs-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 22, 2025</p>\n        <h2 class=\"blog-card__title\">SolidJS Authentication: What Framework Should You Use?</h2>\n        <p class=\"blog-card__excerpt\">Learn how to add secure authentication to SolidJS apps. Compare authentication frameworks and see why SuperTokens is a SolidJS-ready solution.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-vs-fusionauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-vs-fusionauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2025</p>\n        <h2 class=\"blog-card__title\">Auth0 vs FusionAuth (2025): Pricing, Hosting, Use Cases</h2>\n        <p class=\"blog-card__excerpt\">Auth0 vs FusionAuth in 2025: pricing, hosting (SaaS vs self-host), DX, and best-fit use cases — plus an open-source alternative to consider.</p>\n      </a>\n    \n      <a href=\"/blog/gemini-phishing-attack\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/gemini-phishing-attacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2025</p>\n        <h2 class=\"blog-card__title\">Prompt Injection Attacks on LLMs: The Hidden AI Phishing Threat</h2>\n        <p class=\"blog-card__excerpt\">Prompt injection attacks can trick LLMs into phishing users. Learn how invisible HTML is being weaponized—and how to protect your app’s auth flows.</p>\n      </a>\n    \n      <a href=\"/blog/webauthn-explained\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/webauthn-explained.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 14, 2025</p>\n        <h2 class=\"blog-card__title\">WebAuthn Explained</h2>\n        <p class=\"blog-card__excerpt\">A comprehensive guide to understanding WebAuthn, its benefits, and implementation details.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-02-open-source-auth-plugins\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-02-open-source-auth-plugins.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week 02: 7 Open-Source Auth Plugins</h2>\n        <p class=\"blog-card__excerpt\">Open-source auth plugins you’ll reuse: profiling, banning, CAPTCHA, tenancy tools, and telemetry. React/Node ready. </p>\n      </a>\n    \n      <a href=\"/blog/stytch-vs-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-vs-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2025</p>\n        <h2 class=\"blog-card__title\">Stytch vs Auth0 (2025): Pricing, Features, and More</h2>\n        <p class=\"blog-card__excerpt\">Discover how Stytch and Auth0 compare in pricing, features, developer experience, and fraud tools — plus explore an open-source, self-hosted alternative that offers full control and transparency for modern authentication.</p>\n      </a>\n    \n      <a href=\"/blog/workos-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/workos-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 05, 2025</p>\n        <h2 class=\"blog-card__title\">WorkOS Alternatives (2025): SSO, SCIM, and Pricing Compared</h2>\n        <p class=\"blog-card__excerpt\">Discover the best WorkOS alternatives for SSO, SCIM, and audit logs — open-source and managed options, pricing signals, and when SuperTokens fits.</p>\n      </a>\n    \n      <a href=\"/blog/biometric-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/biometric-web-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 22, 2025</p>\n        <h2 class=\"blog-card__title\">Biometric Web Authentication: What It Is and How to Use It</h2>\n        <p class=\"blog-card__excerpt\">Understand biometric authentication on the web: how it works, use cases, security benefits, and how to implement it by using WebAuthn.</p>\n      </a>\n    \n      <a href=\"/blog/add-mfa-to-nextjs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/add-mfa-to-nextjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2025</p>\n        <h2 class=\"blog-card__title\">Add MFA to Next.js in Minutes by Using SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Secure your Next.js app with multi-factor authentication fast. Learn how to add TOTP, email/SMS OTP, or passkeys using SuperTokens’ built-in MFA support.</p>\n      </a>\n    \n      <a href=\"/blog/oidc-vs-saml\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-vs-saml.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2025</p>\n        <h2 class=\"blog-card__title\">OIDC vs SAML: Which Protocol to Use?</h2>\n        <p class=\"blog-card__excerpt\">Compare OIDC and SAML for authentication use cases and see how SuperTokens lets you integrate both. Choose the right protocol for your app.</p>\n      </a>\n    \n      <a href=\"/blog/magiclinks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/magic_links.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 08, 2025</p>\n        <h2 class=\"blog-card__title\">Magic Links Tutorial Secure Passwordless Login Made Simple</h2>\n        <p class=\"blog-card__excerpt\">Learn how magic links work, their benefits, and how to implement them for secure, seamless passwordless authentication.</p>\n      </a>\n    \n      <a href=\"/blog/firebase-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/firebase-pricing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 02, 2025</p>\n        <h2 class=\"blog-card__title\">Firebase Pricing—The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore Firebase’s free vs Blaze tiers, real-world cost examples, hidden charges, and compare with Auth0/Okta for transparent pricing clarity.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-grant-types-explained\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-grant-types-explained.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 30, 2025</p>\n        <h2 class=\"blog-card__title\">OAuth Grant Types Explained: Which One Should You Use?</h2>\n        <p class=\"blog-card__excerpt\">Confused by OAuth grant types? Learn how each one works, when to use it, and how SuperTokens simplifies implementation.</p>\n      </a>\n    \n      <a href=\"/blog/why-startups-cant-afford-weak-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/why-startups-cant-afford-weak-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 30, 2025</p>\n        <h2 class=\"blog-card__title\">Why Startups Can't Afford Weak or Over-Engineered Authentication</h2>\n        <p class=\"blog-card__excerpt\">Startups can't afford weak or overly complex authentication. Explore effective strategies to secure your business while keeping user experience seamless and efficient.</p>\n      </a>\n    \n      <a href=\"/blog/authentication-protocols\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication-protocols.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 29, 2025</p>\n        <h2 class=\"blog-card__title\">Understanding Authentication Protocols: Types and Security Measures</h2>\n        <p class=\"blog-card__excerpt\">Explore various authentication protocols, their types, and delve into email authentication methods like SPF, DKIM, and DMARC to enhance security.</p>\n      </a>\n    \n      <a href=\"/blog/yubikeys\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what_is_a_yubikey.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 18, 2025</p>\n        <h2 class=\"blog-card__title\">What Is a YubiKey and When to Use It vs. Authenticator Apps (2026)</h2>\n        <p class=\"blog-card__excerpt\">Discover how YubiKeys work, when to choose them over authenticator apps, and how to integrate both in your auth flow.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-an-identity-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-an-identity-provider-and-why-it-matters.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 15, 2025</p>\n        <h2 class=\"blog-card__title\">What Is an Identity Provider and Why It Matters</h2>\n        <p class=\"blog-card__excerpt\">Learn what an identity provider does, the business problems it solves, and how to implement one powerfully by using SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-b2b-iam\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-b2b-iam.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 10, 2025</p>\n        <h2 class=\"blog-card__title\">What Is B2B IAM?</h2>\n        <p class=\"blog-card__excerpt\">Learn how B2B IAM helps businesses securely manage access for partners, vendors, and external users — plus what to look for in a modern solution. </p>\n      </a>\n    \n      <a href=\"/blog/descope-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/descope-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 08, 2025</p>\n        <h2 class=\"blog-card__title\">Descope Pricing–The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Discover Descope’s pricing tiers, real-world cost examples, hidden fees, and how it stacks vs Auth0/Okta in CIAM pricing.</p>\n      </a>\n    \n      <a href=\"/blog/stytch-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 05, 2025</p>\n        <h2 class=\"blog-card__title\">Stytch Pricing–The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore Stytch’s tiers, real‑world pricing examples, hidden fees, and comparison with Auth0/Okta for clear cost insights.</p>\n      </a>\n    \n      <a href=\"/blog/cors-errors\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cors_errors.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 20, 2025</p>\n        <h2 class=\"blog-card__title\">Fixing CORS Errors: What They Are and How to Resolve Them (2026)</h2>\n        <p class=\"blog-card__excerpt\">Learn what causes CORS errors, how they impact your web app, and how to fix them securely with proper headers and backend configurations.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-1-recap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-recap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 09, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week: Recap</h2>\n        <p class=\"blog-card__excerpt\">With SuperTokens launch week 1 behind us, let's take a look at everything we've announced.</p>\n      </a>\n    \n      <a href=\"/blog/sso-providers\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso_providers_2025.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 07, 2025</p>\n        <h2 class=\"blog-card__title\">Top Open Source SSO Providers to Know in 2026</h2>\n        <p class=\"blog-card__excerpt\">Compare the best open source SSO providers in 2026 and learn how to pick the right solution for your app’s security and scalability.</p>\n      </a>\n    \n      <a href=\"/blog/rethinking-documentation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/rethinking-documentation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 04, 2025</p>\n        <h2 class=\"blog-card__title\">Rethinking our documentation</h2>\n        <p class=\"blog-card__excerpt\">We rebuilt our documentation from the ground up—reorganizing structure, enforcing consistency, and making it easier than ever for developers to navigate and customize authentication with SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/ping-identity\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-ping-identity-and-how-does-it-compare.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 03, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Ping Identity and How Does It Compare?</h2>\n        <p class=\"blog-card__excerpt\">Compare Ping Identity to Okta, ForgeRock, OneLogin, and SuperTokens. Honest feature breakdowns, use cases, and authentication strengths.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-mcp-toolkit\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-mcp-toolkit.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 02, 2025</p>\n        <h2 class=\"blog-card__title\">Bringing Secure Auth to AI: Introducing the SuperTokens MCP Toolkit</h2>\n        <p class=\"blog-card__excerpt\">Seamlessly integrate authentication workflows into your LLM tools with the SuperTokens MCP Toolkit — a new way to bring real-time, secure auth context into AI-driven development.</p>\n      </a>\n    \n      <a href=\"/blog/cli-overhaul\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cli-overhaul.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2025</p>\n        <h2 class=\"blog-card__title\">Solving Auth for Everyone: The SuperTokens CLI Overhaul</h2>\n        <p class=\"blog-card__excerpt\">We overhauled our CLI to be both a teaching tool and a real project starter—making it easier than ever to add auth to any stack, your way.</p>\n      </a>\n    \n      <a href=\"/blog/revamping-onboarding\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/revamping-onboarding.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2025</p>\n        <h2 class=\"blog-card__title\">Revamping Onboarding at SuperTokens: A New Developer Experience from the Ground Up</h2>\n        <p class=\"blog-card__excerpt\">Impressions matter—especially when it comes to onboarding. So we rebuilt the entire experience to deliver a setup flow that's intuitive, interactive, and tailored to your tech stack.</p>\n      </a>\n    \n      <a href=\"/blog/auth-saas\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what_is_authentication_as_a_service.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">What is Authentication as a Service?</h2>\n        <p class=\"blog-card__excerpt\">Discover how Authentication as a Service simplifies user authentication, enhances security, and scales with your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/rs256-vs-hs256\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/rs256-vs-hs256.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">RS256 vs HS256: Understanding the Difference in JWT Signing</h2>\n        <p class=\"blog-card__excerpt\">Compare the RS256 vs HS256 JWT algorithms, understand key security differences, and find out which suits your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-extensions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-extensions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Extensions: Customize Auth Your Way</h2>\n        <p class=\"blog-card__excerpt\">Discover how SuperTokens Extensions bring modular, reusable, and powerful customization to authentication with a new plugin-based system.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-1\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-1-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 27, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week: Five Days of Auth Improvements</h2>\n        <p class=\"blog-card__excerpt\">How we're making authentication easier to work with, one announcement at a time.</p>\n      </a>\n    \n      <a href=\"/blog/passkeys-vs-passwords\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passkeys-vs-passwords.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 25, 2025</p>\n        <h2 class=\"blog-card__title\">Passkeys vs Passwords – Which Is the Better Authentication Choice?</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between passkeys and passwords in modern authentication. Learn why passkeys are more secure, user-friendly, and built for the future of login systems.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-integrate-clerk-with-supabase\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/integrate-clerk-with-supabase.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 03, 2025</p>\n        <h2 class=\"blog-card__title\">How to Integrate Clerk with Supabase (Plus another option for the curious)</h2>\n        <p class=\"blog-card__excerpt\">🔐 Learn how to integrate Clerk with Supabase for powerful authentication and database management in your Next.js applications - with step-by-step tutorial and code examples.</p>\n      </a>\n    \n      <a href=\"/blog/auth-bypass\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication_bypass.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 23, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Authentication Bypass?</h2>\n        <p class=\"blog-card__excerpt\">Learn what authentication bypass is, how attackers exploit it, and how to secure your apps against auth bypass vulnerabilities.</p>\n      </a>\n    \n      <a href=\"/blog/angular-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/angular-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 18, 2025</p>\n        <h2 class=\"blog-card__title\">Angular Authentication</h2>\n        <p class=\"blog-card__excerpt\">Learn how Angular authentication works, key methods to secure apps, and how to integrate with providers like SuperTokens or OAuth.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0_sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 14, 2025</p>\n        <h2 class=\"blog-card__title\">Auth0 SSO: Setup and Tips</h2>\n        <p class=\"blog-card__excerpt\">Learn how Auth0 SSO works, where it falls short, and discover a simpler open-source alternative for modern authentication flows.</p>\n      </a>\n    \n      <a href=\"/blog/phishing-resistant-mfa\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/Implementing-Phishing-Resistant-MFA.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2025</p>\n        <h2 class=\"blog-card__title\">Implementing Phishing-Resistant MFA: Hands-On Developer Guide</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement phishing-resistant MFA with FIDO2, WebAuthn, and SuperTokens. Step-by-step tutorial for secure, developer-friendly authentication.</p>\n      </a>\n    \n      <a href=\"/blog/step-up-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-step-up-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 30, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Step-Up Authentication? A Guide for Secure Access</h2>\n        <p class=\"blog-card__excerpt\">An in-depth guide to step-up authentication—when to use it and how to implement it to secure high-risk actions in your app.</p>\n      </a>\n    \n      <a href=\"/blog/top-auth0-alternatives-in-2025\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-auth0-alternatives-in-2025.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 25, 2025</p>\n        <h2 class=\"blog-card__title\">Top Auth0 Alternatives in 2025: The Best CIAM Solutions Compared | SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Explore the top Auth0 alternatives for authentication and authorization. Discover solutions like SuperTokens, Okta, and Keycloak to find the perfect fit for your business needs.</p>\n      </a>\n    \n      <a href=\"/blog/authelia-vs-keycloak\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authelia-vs-keycloak.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 21, 2025</p>\n        <h2 class=\"blog-card__title\">Authelia vs Keycloak: Which One Suits You Best?</h2>\n        <p class=\"blog-card__excerpt\">In today’s world of logins, passwords, and the eternal struggle to remember which one you used where, organizations are on the hunt for single sign-on (SSO) solutions that don’t just work but actually make life easier. Think security that doesn’t buckle under pressure, scalability that grows with you, and integrations that play nice with all your apps and systems—basically, the holy trinity of access control.</p>\n      </a>\n    \n      <a href=\"/blog/multi-factor-auth-cost\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-factor-auth-cost.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 16, 2025</p>\n        <h2 class=\"blog-card__title\">Breaking Down the Cost of Multi-Factor Authentication: Is It Worth It?</h2>\n        <p class=\"blog-card__excerpt\">Explore the true cost of Multi-Factor Authentication (MFA), including licensing, integration, maintenance, and hidden risks. Learn how SuperTokens helps optimize MFA costs without compromising security.</p>\n      </a>\n    \n      <a href=\"/blog/cloud-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cloud-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 15, 2025</p>\n        <h2 class=\"blog-card__title\">What is Cloud-Based Authentication? A Detailed Guide</h2>\n        <p class=\"blog-card__excerpt\">Cloud-based authentication refers to verifying user identities (often leveraging identity and access management, or IAM) and granting user access through services hosted offsite—often by dedicated identity providers—rather than keeping everything locked down on your own physical on-premises servers. This fundamental shift spares organizations from the headaches of provisioning hardware, configuring security solutions, and maintaining on-prem infrastructure. It also allows you to tap into more sophisticated authentication methods (like multi-factor authentication (MFA) or passwordless approaches) without massive up-front investments or complex, in-house integrations.</p>\n      </a>\n    \n      <a href=\"/blog/enhancing-your-nextjs-application-with-middleware\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/enhancing-your-nextjs-application-with-middleware.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 12, 2025</p>\n        <h2 class=\"blog-card__title\">Enhancing Your Next.js Application with Middleware</h2>\n        <p class=\"blog-card__excerpt\">Transform your Next.js app with middleware! Learn essential strategies to enhance functionality and streamline your development process today.</p>\n      </a>\n    \n      <a href=\"/blog/credential-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/credential-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 06, 2025</p>\n        <h2 class=\"blog-card__title\">Credential Management: What It Is and Why It Matters</h2>\n        <p class=\"blog-card__excerpt\">Learn about credential management, its importance, common security risks, and best practices. Discover how SuperTokens simplifies secure credential management.</p>\n      </a>\n    \n      <a href=\"/blog/okta-vs-onelogin\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-vs-onelogin.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 02, 2025</p>\n        <h2 class=\"blog-card__title\">Okta vs OneLogin: The Main Differences</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between Okta and OneLogin to help you choose the right IAM solution.</p>\n      </a>\n    \n      <a href=\"/blog/lambda-authorizers\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/lambda-authorizers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 01, 2025</p>\n        <h2 class=\"blog-card__title\">How to Use Lambda Authorizers to Secure Your API Gateway</h2>\n        <p class=\"blog-card__excerpt\">Learn how to secure your API Gateway using Lambda Authorizers with JWT. Discover setup tips, best practices, and integration steps for robust API security.</p>\n      </a>\n    \n      <a href=\"/blog/mastering-nextjs-api-routes\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/mastering-nextjs-api-routes.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 29, 2025</p>\n        <h2 class=\"blog-card__title\">Mastering Next.js API Routes: The Developer's Guide to Backend Functionality</h2>\n        <p class=\"blog-card__excerpt\">Learn how to create and optimize API Routes in Next.js, handle requests effectively, and integrate authentication with SuperTokens for secure backend operations.</p>\n      </a>\n    \n      <a href=\"/blog/2fa-services\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/2fa-services.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 25, 2025</p>\n        <h2 class=\"blog-card__title\">4 Best 2FA Services for Developers to Secure Applications</h2>\n        <p class=\"blog-card__excerpt\">Discover the best 2FA services for developers to secure applications with minimal friction. Compare top vendors and explore how SuperTokens simplifies 2FA integration.</p>\n      </a>\n    \n      <a href=\"/blog/machine-to-machine-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/M2M.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2025</p>\n        <h2 class=\"blog-card__title\">Understanding Machine-to-Machine (M2M) Authentication: 2025 Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore the essentials of machine-to-machine authentication and best practices for implementing secure M2M communication.</p>\n      </a>\n    \n      <a href=\"/blog/single-sign-on-examples\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-examples.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2025</p>\n        <h2 class=\"blog-card__title\">SSO Examples: Real-World Use Cases and How to Implement Them</h2>\n        <p class=\"blog-card__excerpt\">Explore real-world Single Sign-On (SSO) examples, use cases, and step-by-step implementation methods. Learn how tools like SuperTokens simplify SSO for developers.</p>\n      </a>\n    \n      <a href=\"/blog/multi-factor-authentication-examples\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/mfa-examples.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2025</p>\n        <h2 class=\"blog-card__title\">Real World Examples of Multi-Factor Authentication</h2>\n        <p class=\"blog-card__excerpt\">Security has always been crucial, especially in today’s digital landscape, where so much is at stake if security practices are weak or missing. The challenge with security is that the solutions and best practices are often logical and even obvious—yet, for various reasons, we sometimes choose to ignore them..</p>\n      </a>\n    \n      <a href=\"/blog/okta-vs-azure-ad\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-vs-azure.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2025</p>\n        <h2 class=\"blog-card__title\">Okta vs Azure AD: Which IAM Solution Wins?</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between Okta and Azure Active Directory (AD) to help you choose the right IAM solution. </p>\n      </a>\n    \n      <a href=\"/blog/enumeration-attack\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hackers-exploit-numeration-attacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 10, 2025</p>\n        <h2 class=\"blog-card__title\">7 Sneaky Ways Hackers Exploit Enumeration Attacks—and How to Stop Them</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 7 tactics hackers use in enumeration attacks and learn effective strategies to safeguard your authentication systems.</p>\n      </a>\n    \n      <a href=\"/blog/nextauth-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/nextauth-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 10, 2025</p>\n        <h2 class=\"blog-card__title\">Top 7 NextAuth Alternatives for Secure Authentication [2024]</h2>\n        <p class=\"blog-card__excerpt\">Authentication is the cornerstone of any secure application, and for many developers, NextAuth has been a go-to solution. Its ease of use and compatibility with Next.js make it a strong option for basic authentication needs. However, developers often encounter limitations with NextAuth, such as restricted customization, complex multi-platform integration, and insufficient support for advanced authentication protocols.</p>\n      </a>\n    \n      <a href=\"/blog/firebase-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/firebase-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 08, 2025</p>\n        <h2 class=\"blog-card__title\">4 Best Firebase Alternatives for Scalable App Development [2026 Guide]</h2>\n        <p class=\"blog-card__excerpt\">Discover the top Firebase alternatives, their features, and how they compare. Learn why SuperTokens is the best authentication solution for secure and scalable apps.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-tools\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/iam-tools.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 05, 2025</p>\n        <h2 class=\"blog-card__title\">Top 8 Identity and Access Management Tools</h2>\n        <p class=\"blog-card__excerpt\">Identity and Access Management (IAM) tools have become a cornerstone for businesses to securely manage user access across multiple systems and applications. With the growing threat landscape and increasingly complex compliance requirements, choosing the right IAM solution can significantly improve security, optimize user experiences, and simplify the lifecycle of identity management.</p>\n      </a>\n    \n      <a href=\"/blog/react-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/react-setup.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 02, 2025</p>\n        <h2 class=\"blog-card__title\">How to Set Up React User Authentication</h2>\n        <p class=\"blog-card__excerpt\">User authentication forms the backbone of security in modern web applications, especially within the React ecosystem. Ensuring that only authenticated users can access specific parts of your application is crucial for safeguarding data integrity and access control.</p>\n      </a>\n    \n      <a href=\"/blog/nextjs-metadata\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/metadata-in-nextjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 27, 2025</p>\n        <h2 class=\"blog-card__title\">Metadata in Next.js: Enhancing SEO and User Experience</h2>\n        <p class=\"blog-card__excerpt\">Learn how to effectively manage metadata in Next.js to boost SEO and improve user engagement through static and dynamic configurations.</p>\n      </a>\n    \n      <a href=\"/blog/pillars-of-a-ciam-strategy-secure-scale-and-personalize-customer-access\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/pillars-of-a-ciam-strategy-secure-scale-&-personalize-customer-access.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 25, 2025</p>\n        <h2 class=\"blog-card__title\">Pillars of a CIAM Strategy: Secure, Scale, and Personalize Customer Access</h2>\n        <p class=\"blog-card__excerpt\">Explore the key elements of a successful CIAM strategy: ensuring security, scalability, and personalized access for your customers. Start optimizing now!</p>\n      </a>\n    \n      <a href=\"/blog/multi-tenant-architecture\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-tenant-architecture.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 18, 2025</p>\n        <h2 class=\"blog-card__title\">Multi-Tenant Architecture: Benefits, Practices & Implementation</h2>\n        <p class=\"blog-card__excerpt\"> This blog provides an in-depth exploration of how multi‑tenant SaaS architectures boost scalability, reduce costs, and enhance security through SuperTokens' innovative approach.</p>\n      </a>\n    \n      <a href=\"/blog/otp-bots\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/otp-bots.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 17, 2025</p>\n        <h2 class=\"blog-card__title\">One-Time Password (OTP) Bots: How They Work and How to Defend Against Them</h2>\n        <p class=\"blog-card__excerpt\">Explore how OTP bots bypass two-factor authentication (2FA), their growing threats, and strategies to protect your application using tools like SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/sim-swapping\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sim-swapping.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 15, 2025</p>\n        <h2 class=\"blog-card__title\">SIM Swapping Is Hijacking Your User Accounts: How to Shut It Down</h2>\n        <p class=\"blog-card__excerpt\">Learn about SIM swapping scams, their impact on personal security, and effective strategies to safeguard your mobile identity.</p>\n      </a>\n    \n      <a href=\"/blog/webhook-vs-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/webhook-vs-api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 11, 2025</p>\n        <h2 class=\"blog-card__title\">Webhook vs API: Key Differences and Use Cases (2026)</h2>\n        <p class=\"blog-card__excerpt\">Explore the distinctions between webhooks and APIs, their functionalities, and determine the best scenarios for each in your integration strategy.</p>\n      </a>\n    \n      <a href=\"/blog/password-cracking-and-how-to-protect-against-them\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password-cracking.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 05, 2025</p>\n        <h2 class=\"blog-card__title\">Top Password Cracking Techniques and How to Protect Against Them 🔐</h2>\n        <p class=\"blog-card__excerpt\">Learn the most common password cracking techniques used by hackers and practical strategies to secure your accounts from such threats.</p>\n      </a>\n    \n      <a href=\"/blog/top-8-identity-management-solutions-for-developers-and-businesses\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-8-identity-management-solutions-for-developers-and-businesses.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 04, 2025</p>\n        <h2 class=\"blog-card__title\">Top 8 Identity Management Solutions for Developers and Businesses</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 9 user management software tools for 2024! Streamline your processes and enhance security with our expert reviews and comparisons.</p>\n      </a>\n    \n      <a href=\"/blog/integrating-oauth-providers-for-seamless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/integrating-oauth-providers-for-seamless-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 03, 2025</p>\n        <h2 class=\"blog-card__title\">Integrating OAuth Providers for Seamless Authentication</h2>\n        <p class=\"blog-card__excerpt\">Discover how to integrate OAuth providers for seamless authentication. Enhance user experience and security with our expert guides and resources.</p>\n      </a>\n    \n      <a href=\"/blog/open-source-identity-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/foss-iam.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 28, 2025</p>\n        <h2 class=\"blog-card__title\">Top Open Source Identity Management Systems</h2>\n        <p class=\"blog-card__excerpt\">As cyber threats grow more sophisticated and compliance demands tighten, organizations are rethinking how they secure identities and control access. Traditional IAM solutions can be rigid, expensive, and opaque—leaving businesses locked into costly, one-size-fits-all models. Enter open-source IAM: a powerful, transparent alternative that puts control back in the hands of organizations. Offering unmatched flexibility, scalability, and security, open-source IAM is quietly reshaping the way enterprises safeguard their most valuable asset—identity. But is it the right fit for your business?</p>\n      </a>\n    \n      <a href=\"/blog/choosing-the-right-authentication-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/right-auth-provider-and-API.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 27, 2025</p>\n        <h2 class=\"blog-card__title\">Choosing the Right Authentication Provider and API for Secure Applications</h2>\n        <p class=\"blog-card__excerpt\">Learn how authentication providers and APIs secure modern applications. Explore features and integration tips to enhance user authentication and data protection.</p>\n      </a>\n    \n      <a href=\"/blog/idp-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/idp-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 27, 2025</p>\n        <h2 class=\"blog-card__title\">What is IDP Authentication: How Identity Providers Secure Your Apps (2026)</h2>\n        <p class=\"blog-card__excerpt\">Learn how IDP authentication works, why it’s critical for secure access management, and how to integrate tools like SuperTokens for seamless implementation.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-passwordless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-passwordless-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 27, 2025</p>\n        <h2 class=\"blog-card__title\">What is Passwordless Authentication: The Cool Kid on The Block? 🔒🚫</h2>\n        <p class=\"blog-card__excerpt\">What is passwordless authentication? Solve login challenges, explore methods, benefits, and tools for secure implementations.</p>\n      </a>\n    \n      <a href=\"/blog/risk-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/risk-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 20, 2025</p>\n        <h2 class=\"blog-card__title\">What is Risk-Based Authentication? A Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Learn how Risk-Based Authentication enhances security by adapting to user behavior and mitigating threats in real-time.</p>\n      </a>\n    \n      <a href=\"/blog/social-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/social-login.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 16, 2025</p>\n        <h2 class=\"blog-card__title\">Simplify User Experience With Social Login</h2>\n        <p class=\"blog-card__excerpt\">Social login has become a popular choice for modern apps looking to streamline the user authentication process. In this blog, we'll explore what social login is, how it works, its benefits and the challenges of implementing it</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-strategy\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/iam-strategy.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 13, 2025</p>\n        <h2 class=\"blog-card__title\">How to Build Effective Identity & Access Management Strategy</h2>\n        <p class=\"blog-card__excerpt\">Discover how to develop an effective Identity and Access Management (IAM) strategy that secures sensitive data, ensures compliance, and streamlines user experiences.</p>\n      </a>\n    \n      <a href=\"/blog/okta-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 13, 2025</p>\n        <h2 class=\"blog-card__title\">Best 7 Okta Alternatives for Identity Management</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 7 Okta alternatives for identity and access management (IAM), including SuperTokens, Auth0, Ping Identity, and more. Compare features, pricing, scalability, and customization to find the best solution for your business needs.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-implement-oidc-with-microsoft-entra-id\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/entra-id.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 07, 2025</p>\n        <h2 class=\"blog-card__title\">How to implement OIDC with Microsoft Entra ID</h2>\n        <p class=\"blog-card__excerpt\">Implementing OIDC with Microsoft Entra ID can be confusing. We're gonna help you implement it two different ways — in your own ExpressJS server or in SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/top-10-passwordless-authentication-solutions-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/Top-10-Passwordless-Authentication-Solutions-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 05, 2025</p>\n        <h2 class=\"blog-card__title\">Top 10 Passwordless Authentication Solutions in 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 10 passwordless authentication solutions of 2024. Enhance your security and streamline user access with cutting-edge technologies today!</p>\n      </a>\n    \n      <a href=\"/blog/8-benefits-of-identity-and-access-management-for-security\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/8-benefits-of-identity-and-access-management-for-security.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 02, 2025</p>\n        <h2 class=\"blog-card__title\">8 Benefits of Identity and Access Management (IAM) for Security</h2>\n        <p class=\"blog-card__excerpt\">Discover the 8 key benefits of Identity and Access Management (IAM) for enhancing security. Learn how IAM can protect your organization effectively.</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-pricing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 25, 2024</p>\n        <h2 class=\"blog-card__title\">Keycloak Guide 2024: Pricing, Features, & Limitations 🔐</h2>\n        <p class=\"blog-card__excerpt\">Discover Keycloak, a robust open-source IAM solution for enterprise-grade authentication needs like SSO, 2FA, and fine-grained access control. Compare it with SuperTokens, a lightweight, developer-friendly alternative for modern authentication requirements.</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication-in-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication-in-api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 20, 2024</p>\n        <h2 class=\"blog-card__title\">Token-Based Authentication for APIs: What It Is and How It Works</h2>\n        <p class=\"blog-card__excerpt\">Discover how token-based authentication secures APIs with this simple guide. Understand its process, benefits, drawbacks and more.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-best-practices\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management-best-practices.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 17, 2024</p>\n        <h2 class=\"blog-card__title\">10 Best Practices for Effective Identity and Access Management</h2>\n        <p class=\"blog-card__excerpt\">Learn the top 10 Identity and Access Management (IAM) best practices to safeguard your organization from credential-based attacks. Explore common pitfalls like siloed systems, privilege creep, and manual provisioning, and discover how modern IAM solutions like SuperTokens help streamline security, ensure compliance, and boost productivity. Stay ahead with effective IAM strategies and protect sensitive data from evolving cyber threats.</p>\n      </a>\n    \n      <a href=\"/blog/top-7-sso-benefits-for-enhanced-security-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-7-sso-benefits-for-enhanced-security-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 17, 2024</p>\n        <h2 class=\"blog-card__title\">Top 7 SSO Benefits for Enhanced Security [2024]</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 7 SSO benefits for 2024 to enhance your security. Learn how to protect your data and streamline user access effectively.</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication-vs-session-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication-vs-session-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 12, 2024</p>\n        <h2 class=\"blog-card__title\">Token Based Authentication vs Session Based Authentication</h2>\n        <p class=\"blog-card__excerpt\">Sessions vs. Tokens: Understanding the Differences in Authentication</p>\n      </a>\n    \n      <a href=\"/blog/iam-challenges\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/iam-challenges.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 11, 2024</p>\n        <h2 class=\"blog-card__title\">Top Identity and Access Management Challenges</h2>\n        <p class=\"blog-card__excerpt\">Discover how to tackle modern IAM challenges, from integration complexities to compliance, with actionable solutions and emerging trends like zero-trust and passwordless authentication. Learn how open-source tools like SuperTokens can future-proof your system in 2024.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-implement-identity-and-access-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-implement-identity-and-access-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2024</p>\n        <h2 class=\"blog-card__title\">How to Implement Identity and Access Management? [6 Steps]</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement Identity and Access Management in just 6 steps. Enhance security and manage user access efficiently with our expert guide!</p>\n      </a>\n    \n      <a href=\"/blog/unified-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/unified-login.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2024</p>\n        <h2 class=\"blog-card__title\">Unified Login: Because Who Doesn't Love a Good OAuth2 Adventure?</h2>\n        <p class=\"blog-card__excerpt\">Ah, authentication. The bane of every developer's existence. Or is it? 🤔 Today, we're diving into the wonderful world of a new feature called Unified Login. Buckle up, folks—it's gonna be a wild ride!</p>\n      </a>\n    \n      <a href=\"/blog/sso-implementation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-implementation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 02, 2024</p>\n        <h2 class=\"blog-card__title\">A Comprehensive Guide to SSO Implementation 2024</h2>\n        <p class=\"blog-card__excerpt\">This blog explores the benefits and functionalities of Single Sign-On (SSO), highlighting how it simplifies user authentication, enhances security, and integrates with modern identity management systems. It also covers how open standards like OAuth 2.0 and OIDC enable seamless access to applications, including the use of social logins from services like Google, Facebook, and Twitter.</p>\n      </a>\n    \n      <a href=\"/blog/7-authentik-alternatives-for-enhanced-identity-management-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/7-authentik-alternatives-for-enhanced-identity-management-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 28, 2024</p>\n        <h2 class=\"blog-card__title\">7 Authentik Alternatives for Enhanced Identity Management in 2024</h2>\n        <p class=\"blog-card__excerpt\">Explore 7 effective Authentik alternatives for improved identity management in 2024. Elevate your security measures and optimize user experience today.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-frameworks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management-frameworks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 26, 2024</p>\n        <h2 class=\"blog-card__title\">Introduction to IAM Frameworks: Simplifying Access Management for Developers</h2>\n        <p class=\"blog-card__excerpt\">Learn everything about Identity and Access Management (IAM) frameworks in this comprehensive guide.</p>\n      </a>\n    \n      <a href=\"/blog/django-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/django-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2024</p>\n        <h2 class=\"blog-card__title\">A comprehensive guide to Django's user authentication system</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement user registration, login/logout, permissions etc using Django's built-in user authentication system.</p>\n      </a>\n    \n      <a href=\"/blog/session-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/session-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2024</p>\n        <h2 class=\"blog-card__title\">Session-Based Authentication: A Detailed Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">Session-based authentication is a cornerstone of web security, providing a simple and controlled method to manage user sessions. This guide delves into its workings, advantages, and implementation, while addressing challenges like security vulnerabilities and scalability concerns.</p>\n      </a>\n    \n      <a href=\"/blog/9-sso-best-practices-to-strengthen-security-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/9-sso-best-practices-to-strengthen-security-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 15, 2024</p>\n        <h2 class=\"blog-card__title\">9 SSO Best Practices to Strengthen Security in 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 9 SSO best practices for 2024 to enhance your security. Learn how to protect your data and streamline user access effectively.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 08, 2024</p>\n        <h2 class=\"blog-card__title\">How Identity and Access Management Works: Detailed Guide</h2>\n        <p class=\"blog-card__excerpt\">Discover the fundamentals, benefits, and best practices of Identity and Access Management (IAM) and how SuperTokens simplifies secure authentication and session management.</p>\n      </a>\n    \n      <a href=\"/blog/7-common-iam-risks-and-how-to-avoid-them\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/7-common-iam-risks-and-how-to-avoid-them.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 04, 2024</p>\n        <h2 class=\"blog-card__title\">7 Common IAM Risks and How to Avoid Them</h2>\n        <p class=\"blog-card__excerpt\"> Reveal the 7 critical IAM risks that pose a threat to your business. Discover actionable advice to reduce these risks and strengthen your security measures.</p>\n      </a>\n    \n      <a href=\"/blog/flask-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/flask-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 04, 2024</p>\n        <h2 class=\"blog-card__title\">Adding Authentication to Your Flask Backend with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to seamlessly add authentication to your Flask backend using SuperTokens. This guide covers setting up authentication with the SuperTokens CLI or manual configuration, enabling you to focus on building application logic instead of authentication infrastructure.</p>\n      </a>\n    \n      <a href=\"/blog/user-authentication-in-node\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/user-authentication-in-node.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 02, 2024</p>\n        <h2 class=\"blog-card__title\">How to Authenticate and Authorize Users in a Node.js Express App</h2>\n        <p class=\"blog-card__excerpt\">A step by step guide on how to Authenticate and Authorize Users in a Node.js Express App</p>\n      </a>\n    \n      <a href=\"/blog/but-auth-is-hard\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/but-auth-is-hard.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 16, 2024</p>\n        <h2 class=\"blog-card__title\">\"BuT, aUtH iS HaRd\"</h2>\n        <p class=\"blog-card__excerpt\">No, it's not. It's boring, red-tapey, a solved problem... but don't call it hard as a blanket statement.</p>\n      </a>\n    \n      <a href=\"/blog/authentik-vs-keycloak\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentik-vs-keycloak.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2024</p>\n        <h2 class=\"blog-card__title\">Authentik Vs. Keycloak: Features and Experience Comparison</h2>\n        <p class=\"blog-card__excerpt\">This blog compares Authentik and Keycloak, two popular open-source IAM solutions, highlighting their features, security, customization, and scalability. We break down which tool is best suited for different business sizes and needs, including an alternative, SuperTokens, for teams seeking a middle ground.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-vs-clerk\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-vs-clerk.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 12, 2024</p>\n        <h2 class=\"blog-card__title\">AuthO Vs. Clerk: Features, Pricing, And Pros & Cons</h2>\n        <p class=\"blog-card__excerpt\">Explore a comprehensive comparison of Auth0 and Clerk, two leading authentication providers. Discover their unique features, pricing, and best use cases to help you choose the right tool for your project</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-vs-okta\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-vs-okta.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2024</p>\n        <h2 class=\"blog-card__title\">Keycloak Vs. Okta: Features, Pricing, And Developer Experience</h2>\n        <p class=\"blog-card__excerpt\">Choosing the right IAM solution is crucial for security and efficiency. This blog provides a clear comparison between Keycloak and Okta, examining features, customization, pricing, and developer experience. Learn which platform best suits your organization’s needs.</p>\n      </a>\n    \n      <a href=\"/blog/hacktoberfest-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hacktoberfest-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 07, 2024</p>\n        <h2 class=\"blog-card__title\">Hacktoberfest with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Celebrate Hacktoberfest with SuperTokens, learn how you can contribute to open source auth and get some goodies too!</p>\n      </a>\n    \n      <a href=\"/blog/how-to-use-supertokens-custom-ui-with-vuejs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vue-custom-ui.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 07, 2024</p>\n        <h2 class=\"blog-card__title\">How to use SuperTokens in a VueJS app with your own UI</h2>\n        <p class=\"blog-card__excerpt\">Learn how to integrate supertokens-web-js SDK into your VueJS application.</p>\n      </a>\n    \n      <a href=\"/blog/enterprise-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/enterprise-sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 28, 2024</p>\n        <h2 class=\"blog-card__title\">Best Practices for Enterprise SSO</h2>\n        <p class=\"blog-card__excerpt\">This guide will dive into what enterprise SSO is and why it’s necessary for modern organizations. It will also provide actionable tips for implementing it effectively</p>\n      </a>\n    \n      <a href=\"/blog/how-to-secure-a-nestjs-app\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-secure-a-nestjs-app.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 25, 2024</p>\n        <h2 class=\"blog-card__title\">How to secure a NestJs Application</h2>\n        <p class=\"blog-card__excerpt\">In this post, we will be using NestJS, a Node.js framework that excels at making backend development efficient and scalable. Inspired by mature frameworks like Spring and ASP.NET, NestJS brings the best practices from these proven systems into the JavaScript/TypeScript world.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-fido\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-fido.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2024</p>\n        <h2 class=\"blog-card__title\">What is FIDO</h2>\n        <p class=\"blog-card__excerpt\">In this post, we’ll take you on a journey through the world of passkeys, breaking down their technical foundations and exploring how they work. We'll also look at the role of the FIDO2 and WebAuthn standards in shaping a future where passwords are no longer needed.</p>\n      </a>\n    \n      <a href=\"/blog/customer-retrospective\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/customer-retrospective.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 18, 2024</p>\n        <h2 class=\"blog-card__title\">SuperTokens Customer Retrospective</h2>\n        <p class=\"blog-card__excerpt\">A look back at how SuperTokens empowered clients across industries with flexible, secure authentication solutions. Explore key case studies and insights that shaped a year of innovation and success.</p>\n      </a>\n    \n      <a href=\"/blog/anomaly-detection-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/anomaly-detection-with-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 15, 2024</p>\n        <h2 class=\"blog-card__title\">Anomaly Detection with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn about different attack vectors and how to safeguard your web app against them with SuperTokens attack prevention suite</p>\n      </a>\n    \n      <a href=\"/blog/authelia-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authelia-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 10, 2024</p>\n        <h2 class=\"blog-card__title\">7 Top Authelia Alternatives for Enhanced Authentication in 2025?</h2>\n        <p class=\"blog-card__excerpt\">In this blog, we're going to look at the top 7 alternatives to Authelia. We’ll go over the main features, pricing, pros and cons of each option to help you decide what’s best for your authentication strategy.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-use-supertokens-pre-built-ui-with-vuejs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vue-st.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 01, 2024</p>\n        <h2 class=\"blog-card__title\">How to use SuperTokens' pre built UI with VueJS</h2>\n        <p class=\"blog-card__excerpt\">A step by step guide on how to integrate SuperTokens' pre built UI in a VueJS app</p>\n      </a>\n    \n      <a href=\"/blog/demystifying-saml\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/demystifying-saml.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 20, 2024</p>\n        <h2 class=\"blog-card__title\">Demystifying SAML: A Comprehensive Guide</h2>\n        <p class=\"blog-card__excerpt\">SAML is an authentication standard created to address the growing need of federated identity. In this blog we go over what SAML is and what makes it special.</p>\n      </a>\n    \n      <a href=\"/blog/adding-login-to-your-nextjs-app-using-the-app-directory-and-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/adding-login-to-your-nextjs-app-using-the-app-directory-and-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 19, 2024</p>\n        <h2 class=\"blog-card__title\">Securing your Next.js with Authentication</h2>\n        <p class=\"blog-card__excerpt\">This blog explains how to setup email password and social login with SuperTokens in Next.js.</p>\n      </a>\n    \n      <a href=\"/blog/cookies-vs-localstorage-for-sessions-everything-you-need-to-know\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cookies-vs-localstorage-for-sessions-everything-you-need-to-know.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 16, 2024</p>\n        <h2 class=\"blog-card__title\">Cookies vs. LocalStorage: Storing Session Data and Beyond</h2>\n        <p class=\"blog-card__excerpt\">Learn about the best approach and common misconceptions of storing sessions in cookies or browser storage</p>\n      </a>\n    \n      <a href=\"/blog/revoking-access-with-a-jwt-blacklist\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/revoking-access-with-a-jwt-blacklist.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 15, 2024</p>\n        <h2 class=\"blog-card__title\">7 Ways To Revoke JWT Tokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to maintain a JWT token blacklist / deny list using an in-memory data cache</p>\n      </a>\n    \n      <a href=\"/blog/benefits-of-multi-factor-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/benefits-of-multi-factor-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 05, 2024</p>\n        <h2 class=\"blog-card__title\">10 Benefits of Multi-Factor Authentication (MFA)</h2>\n        <p class=\"blog-card__excerpt\">Traditional login mechanisms are plagued by security vulnerabilities and are susceptible to attacks. Multi-factor authentication bolsters security and mitigates a number of these vulnerabilities and has now become an industry standard.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-jwt\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-jwt-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2024</p>\n        <h2 class=\"blog-card__title\">What is a JWT? Understanding JSON Web Tokens (2026 Guide)</h2>\n        <p class=\"blog-card__excerpt\">Explore JWT tokens: secure, compact credentials for modern web authentication. Learn how they work, their benefits, and best practices for implementing them in your applications.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-vs-jwt\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth_vs_jwt.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 20, 2024</p>\n        <h2 class=\"blog-card__title\">OAuth vs JWT (JSON Web Tokens): An In-Depth Comparison</h2>\n        <p class=\"blog-card__excerpt\">Explore the key differences between OAuth and JWT in this comprehensive guide. Learn when to use each, their pros and cons, and how they can work together for robust authentication.</p>\n      </a>\n    \n      <a href=\"/blog/self-hosted-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/self_hosted_auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 17, 2024</p>\n        <h2 class=\"blog-card__title\">Self-hosted Authentication</h2>\n        <p class=\"blog-card__excerpt\">By self-hosting auth users gain finer control over their data.To shed some light on the matter, let’s compare several authentication providers which offer self-hosting functionality</p>\n      </a>\n    \n      <a href=\"/blog/building-a-login-screen-with-react-and-bootstrap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/building-a-login-screen-with-react-and-bootstrap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 15, 2024</p>\n        <h2 class=\"blog-card__title\">Building a login screen with React and Bootstrap</h2>\n        <p class=\"blog-card__excerpt\">Build an elegant login screen super fast using React and Bootstrap</p>\n      </a>\n    \n      <a href=\"/blog/implementing-a-forgot-password-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/implementing-a-forgot-password-flow.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 13, 2024</p>\n        <h2 class=\"blog-card__title\">How to Implement a Forgot Password Flow? Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">What should happen on the backend when a user forgets their password? Read to find a pseudo code implementation of the simplest way to reset passwords securely.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-alternatives-auth0-vs-okta-vs-cognito-vs-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth_comparison_header.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 11, 2024</p>\n        <h2 class=\"blog-card__title\">Top Auth0 alternatives: Auth0 vs Okta vs Cognito vs SuperTokens [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth review of Auth0 alternatives for 2024: Auth0 vs Okta vs Cognito vs SuperTokens</p>\n      </a>\n    \n      <a href=\"/blog/django-bootstrap-login-template\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/django_bootstrap_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 10, 2024</p>\n        <h2 class=\"blog-card__title\">Setting up an authentication form with bootstrap in a Django application</h2>\n        <p class=\"blog-card__excerpt\">This tutorial wil guide you on how you can setup a bootstrap login template in Django</p>\n      </a>\n    \n      <a href=\"/blog/saml-vs-oauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/saml-vs-oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 10, 2024</p>\n        <h2 class=\"blog-card__title\">OAuth2.0 vs SAML: The Best Security Protocol For Your App</h2>\n        <p class=\"blog-card__excerpt\">SAML and OAuth are protocols often used in the authentication but what are the differences between them and which one do you choose?</p>\n      </a>\n    \n      <a href=\"/blog/what-is-roles-based-access-control-vs-abac\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-rbac-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 07, 2024</p>\n        <h2 class=\"blog-card__title\">What is Roles-Based Access Control (RBAC)?</h2>\n        <p class=\"blog-card__excerpt\">Learn about RBAC and advantages + disadvantages compared to ABAC.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-cross-origin-resource-sharing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cors-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 06, 2024</p>\n        <h2 class=\"blog-card__title\">What is Cross Origin Resource Sharing (CORS)?</h2>\n        <p class=\"blog-card__excerpt\">Cross-Origin Resource Sharing (CORS) is a mechanism that supports secure requests and data transfers from outside origins (domain, scheme, or port).</p>\n      </a>\n    \n      <a href=\"/blog/totp-why-you-need-it-and-how-it-works\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/totp-why-you-need-it-and-how-it-works.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 05, 2024</p>\n        <h2 class=\"blog-card__title\">What is TOTP and why do you need it?</h2>\n        <p class=\"blog-card__excerpt\">Time based one-time passwords solve a number of issues that plague traditional authentication methods. In this blog we break down TOTP and why it's so useful.</p>\n      </a>\n    \n      <a href=\"/blog/okta-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 02, 2024</p>\n        <h2 class=\"blog-card__title\">Okta Pricing: The Complete Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Okta's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/5-tips-for-optimizing-your-react-apps-performance\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/optimize-react-app-performance.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2024</p>\n        <h2 class=\"blog-card__title\">Tips for Optimizing Your React App’s Performance</h2>\n        <p class=\"blog-card__excerpt\">Poor app performance can reduce user engagement and will negatively affect SEO, here are tips to optimize your react app</p>\n      </a>\n    \n      <a href=\"/blog/clerk-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 28, 2024</p>\n        <h2 class=\"blog-card__title\">Clerk Alternatives: Ceding vs. Owning UAM Control</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Auth0's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/frontegg-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/frontegg-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 27, 2024</p>\n        <h2 class=\"blog-card__title\">Frontegg Alternatives For Greater UAM Flexibility & Control</h2>\n        <p class=\"blog-card__excerpt\">Explore five top Frontegg alternatives for user access management, comparing features, pricing, and setup complexity to find the best fit for your needs. Discover the ideal UAM solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 26, 2024</p>\n        <h2 class=\"blog-card__title\">Auth0 Pricing: The Complete Cost Breakdown [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Auth0's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/password-hashing-salting\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password_hashing_and_salting.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 25, 2024</p>\n        <h2 class=\"blog-card__title\">What is Password Hashing and Why is it Important? (2026 Guide)</h2>\n        <p class=\"blog-card__excerpt\">A practical guide to password hashing and salting: how they work, which algorithms to use (bcrypt, Argon2, PBKDF2), and why they matter for security.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-ldap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-ldap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 22, 2024</p>\n        <h2 class=\"blog-card__title\">What is LDAP & How does it work?</h2>\n        <p class=\"blog-card__excerpt\">In workforce identity and B2B flows, LDAP is main protocol used to interact with directory services that store user identity and device information. In this blog post we take a look at LDAP and how it works.</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 20, 2024</p>\n        <h2 class=\"blog-card__title\">Comparing Keycloak Alternatives For Simpler User Authentication</h2>\n        <p class=\"blog-card__excerpt\">We explore the differences between SuperTokens and Auth0 including their key features, pros and cons, and practical workflows. Whether you need full control with SuperTokens' self-hosted, open-source approach or the convenience of Auth0's managed service, this guide will help you choose the right authentication solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 16, 2024</p>\n        <h2 class=\"blog-card__title\">Supertokens Vs AuthO: Self-Hosted Vs. Managed Solutions</h2>\n        <p class=\"blog-card__excerpt\">Explore the core differences between SuperTokens and Auth0 including their key features, pros and cons, and practical workflows. Whether you need full control with SuperTokens' self-hosted, open-source approach or the convenience of Auth0's managed service, this guide will help you choose the right authentication solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-keycloak\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-keycloak.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 12, 2024</p>\n        <h2 class=\"blog-card__title\">Supertokens Vs Keycloak: Going Custom Vs. Off-The-Shelf</h2>\n        <p class=\"blog-card__excerpt\">Explore a high level comparison between two popular open-source authentication solutions, SuperTokens and Keycloak. This blog covers their key differences in architecture, configuration, UI, customizability, enterprise readiness, and more. Learn the advantages and disadvantages of each to determine which solution best fits your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 10, 2024</p>\n        <h2 class=\"blog-card__title\">Features, Pricing, & Flexibility: Comparing AuthO Alternatives</h2>\n        <p class=\"blog-card__excerpt\">This blog explores alternatives to Auth0, a leading IAM platform, highlighting options like SuperTokens, Okta, Firebase Authentication, AWS Cognito, FusionAuth, and Keycloak. It discusses key considerations such as pricing, customization, scalability, and integration, helping you choose the best authentication solution for your needs.</p>\n      </a>\n    \n      <a href=\"/blog/stych-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 06, 2024</p>\n        <h2 class=\"blog-card__title\">Stytch Alternatives For More Flexible User Access</h2>\n        <p class=\"blog-card__excerpt\">This blog explores top Stytch alternatives for user access management, including SuperTokens, Auth0, and Firebase Authentication. We compare their features, flexibility, and pricing to help you choose the right solution. We also discuss open-source vs. proprietary systems and the benefits of building a custom security flow vs. using ready-made software.</p>\n      </a>\n    \n      <a href=\"/blog/cognito-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cognito-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 04, 2024</p>\n        <h2 class=\"blog-card__title\">Cognito Alternatives: Access Services That Pair With Any Set-Up</h2>\n        <p class=\"blog-card__excerpt\">In this blog, we evaluate Amazon Cognito and compare it with five leading alternatives: SuperTokens, Clerk, Auth0, Stytch, and Frontegg. We'll cover pricing, setup complexity, data migration, and security features. Additionally, we discuss the benefits of open-source authentication and the choice between customized and out-of-the-box solutions. This guide helps you find the best user management solution for your needs.</p>\n      </a>\n    \n      <a href=\"/blog/cognito-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cognito-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 03, 2024</p>\n        <h2 class=\"blog-card__title\">AWS Cognito Pricing: The Complete Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering AWS Cognito's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-clerk\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-clerk.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 01, 2024</p>\n        <h2 class=\"blog-card__title\">Clerk Vs SuperTokens: Custom Vs Ready-To-Use Access Protocol</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between SuperTokens and Clerk to determine the best user access management solution for your project. Understand their core functionalities, key differences, and pricing to make an informed decision.</p>\n      </a>\n    \n      <a href=\"/blog/oidc-token\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-token.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 26, 2024</p>\n        <h2 class=\"blog-card__title\">How To Use OIDC Tokens For More Efficient & Secure Login</h2>\n        <p class=\"blog-card__excerpt\">Discover how to leverage OpenID Connect (OIDC) tokens to enhance your application's security without compromising user experience.Learn how to balance robust security measures with seamless user interactions, and get practical tips for integrating OIDC tokens into your authentication flow.</p>\n      </a>\n    \n      <a href=\"/blog/how-does-oauth-work\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-does-oauth-work.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 24, 2024</p>\n        <h2 class=\"blog-card__title\">How the Heck Does OAuth Work?</h2>\n        <p class=\"blog-card__excerpt\">In this blog we do a detailed technical overview of OAuth, explaining its evolution, various flows, and practical applications. It includes diagrams and real-world examples to enhance understanding.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-grant-types\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-grant-types.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 17, 2024</p>\n        <h2 class=\"blog-card__title\">Choosing The Right OAuth Grant Types For Your User</h2>\n        <p class=\"blog-card__excerpt\">Discover the ins and outs of OAuth grant types and learn how to implement secure, user-friendly authentication flows. This comprehensive guide covers the different OAuth grant types, their best use cases, and practical tips for customizing your authorization flow.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-token\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-token.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 16, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding & Using OAuth Tokens For Easy & Secure Login </h2>\n        <p class=\"blog-card__excerpt\">Explore OAuth tokens in web security, their types, benefits, and best practices. Learn to implement and customize OAuth flows for optimal security and user experience.</p>\n      </a>\n    \n      <a href=\"/blog/oauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 14, 2024</p>\n        <h2 class=\"blog-card__title\">What is OAuth and It's Importance in a Secure Web</h2>\n        <p class=\"blog-card__excerpt\">Through this blog we hope to show you what OAuth is, explain how it works, and give you a sense of how OAuth can help your application.</p>\n      </a>\n    \n      <a href=\"/blog/two-factor-authentication-providers\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/two-factor-authentication-providers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 09, 2024</p>\n        <h2 class=\"blog-card__title\">2FA Authentication Providers</h2>\n        <p class=\"blog-card__excerpt\">Passwords are not enough. Modern methods of attack have made passwords vulnerable to be stolen, this is where methods of enhancing security like 2FA and MFA come in</p>\n      </a>\n    \n      <a href=\"/blog/passwordless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password_less_blog.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 07, 2024</p>\n        <h2 class=\"blog-card__title\">How To Streamline Access With Passwordless Authentication</h2>\n        <p class=\"blog-card__excerpt\">A quick overview on how passwordless authentication can help streamline the login experience and increase user conversions</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2024</p>\n        <h2 class=\"blog-card__title\">Balance Security & UX With Token Based Authentication</h2>\n        <p class=\"blog-card__excerpt\">By minimizing the risk of credential theft, token based authentication grants users access to resources without the need to re-authenticate. In this blog we explore the balance between security and UX with Token Based Authentication</p>\n      </a>\n    \n      <a href=\"/blog/sso-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-providers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 05, 2024</p>\n        <h2 class=\"blog-card__title\">Best Single Sign-On Solutions for 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the benefits and key features of Single Sign-On (SSO). Learn how SSO simplifies user experiences, enhances security, and meets enterprise needs. Explore popular SSO protocols like OAuth, SAML, and OpenID Connect, and compare top SSO providers</p>\n      </a>\n    \n      <a href=\"/blog/sso-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 04, 2024</p>\n        <h2 class=\"blog-card__title\">When & How To Build SSO Authentication For User Access</h2>\n        <p class=\"blog-card__excerpt\">Learn how Single Sign-On (SSO) authentication simplifies user access to multiple applications with a single login, enhancing both security and user experience. Explore the benefits, protocols, and key differences between SSO and 2FA to optimize your authentication strategy.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-tls\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-tls.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 01, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding Transport layer Security</h2>\n        <p class=\"blog-card__excerpt\">In this article we explore TLS, it's vulnerabilities, and how to secure web communications against cyber threats</p>\n      </a>\n    \n      <a href=\"/blog/what-is-cross-site-request-forgery\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-cross-site-request-forgery.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 27, 2024</p>\n        <h2 class=\"blog-card__title\">What is CSRF (Cross Site Request Forgery)</h2>\n        <p class=\"blog-card__excerpt\">In this article we deep dive into the world of CSRF attacks, what they are and how to protect your application against them</p>\n      </a>\n    \n      <a href=\"/blog/mfa-best-practices\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/mfa-best-practices.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 18, 2024</p>\n        <h2 class=\"blog-card__title\">2FA & MFA: Enhancing Security Without Compromising User Experience</h2>\n        <p class=\"blog-card__excerpt\">Traditional authentication methods like email-password auth are the most at risk of being compromised during cyber attacks. However, overly complex authentication methods can frustrate users and hinder product adoption. In this blog we breakdown the pros and cons of adopting 2fa and mfa auth strategies</p>\n      </a>\n    \n      <a href=\"/blog/types-of-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/types-of-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 12, 2024</p>\n        <h2 class=\"blog-card__title\">Types Of Authentication: Your Network Security Options</h2>\n        <p class=\"blog-card__excerpt\">Although Password-based authentication is one of the most common authentication methods, they are the most at risk of being compromised during cyber attacks. In this blog we break down the types of authentication and how to choose the right type of authentication</p>\n      </a>\n    \n      <a href=\"/blog/passkey-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passkey-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 10, 2024</p>\n        <h2 class=\"blog-card__title\">Passkey Authentication: What Is It & How to Implement It</h2>\n        <p class=\"blog-card__excerpt\">Discover the power of passkey authentication: a secure, user-friendly alternative to traditional passwords. Learn how passkeys work, their benefits over passwordless methods, and best practices for implementation to enhance your application's security and user experience.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-502-bad-gateway-error\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-502-bad-gateway-error.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 05, 2024</p>\n        <h2 class=\"blog-card__title\">Everything You Need to Know About 502 Bad Gateway Errors (2026)</h2>\n        <p class=\"blog-card__excerpt\">Discover the ins and outs of 502 Bad Gateway Errors. From understanding the causes to troubleshooting steps and preventive measures, navigate through server communication breakdowns seamlessly.</p>\n      </a>\n    \n      <a href=\"/blog/openid-connect-vs-oauth2\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/openid-connect-vs-oauth2.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 03, 2024</p>\n        <h2 class=\"blog-card__title\">OpenID Connect vs OAuth2: The Differences and How to Choose</h2>\n        <p class=\"blog-card__excerpt\">Authentication and Authorization are the cornerstone of most modern software, but, these concepts are often misunderstood. In this blog we  try to demystify those concepts and the accepted standards embodying them, that is OpenID Connect and OAuth 2</p>\n      </a>\n    \n      <a href=\"/blog/fedcm-how-are-oauth-flows-affected-in-the-post-third-party-cookie-era\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/fedcm.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 20, 2024</p>\n        <h2 class=\"blog-card__title\">FedCM and how OAuth Flows are affected in the Post-Third-Party Cookie Era</h2>\n        <p class=\"blog-card__excerpt\">Third Party Cookies have been synonymous with user tracking and privacy issues. In 2021 Google put forth a plan to retire third party cookies from chromium based browsers and put for the FedCM APIs. In this blog we will be discussing this change and what it means for traditional OAuth flows.</p>\n      </a>\n    \n      <a href=\"/blog/phishing-attacks-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/phishing-attacks-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 13, 2024</p>\n        <h2 class=\"blog-card__title\">Phishing Attacks in 2024</h2>\n        <p class=\"blog-card__excerpt\">Over the years phishing attacks have become more sophisticated than ever. In this blog we break down how phishing attacks have evolved and how you can safeguard against them</p>\n      </a>\n    \n      <a href=\"/blog/otp-vs-totp-vs-hotp\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/otp-vs-totp-vs-hotp.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 07, 2024</p>\n        <h2 class=\"blog-card__title\">The difference between OTP, TOTP and HOTP</h2>\n        <p class=\"blog-card__excerpt\">One time passwords are a more secure method of authentication. They remedy a number of issues which plague traditional username-password based authentication. But with methods like TOTP and HOTP it can be confusing. In this blog we break down these methods with their benefits and downsides</p>\n      </a>\n    \n      <a href=\"/blog/authorization-code-flow-with-pkce\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authorization-code-flow-with-pkce.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 23, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding Authorization code flow with PKCE</h2>\n        <p class=\"blog-card__excerpt\">Federated identity with OAuth is one of the most popular methods of implementing authentication. It lowers sign-up friction and is more secure than other auth methods like email-password based authentication.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-zero-trust\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-zero-trust.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 20, 2024</p>\n        <h2 class=\"blog-card__title\">All You Need To Know About the Zero Trust Model</h2>\n        <p class=\"blog-card__excerpt\">Zero Trust is an IT security model that emphasizes identity verification for every person or device trying to access resources on a private network. In this blog we go over it's core principles and practical benefits.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-scim-provisioning\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-scim-provisioning.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 16, 2024</p>\n        <h2 class=\"blog-card__title\">What is SCIM Provisioning?</h2>\n        <p class=\"blog-card__excerpt\">Managing identities can be a pain, in the past administrators would have to manually add identifying information needed by applications about users. This process takes longer and has a high margin of error. SCIM streamlines the management of user groups and devices. In this blog we will explore how it works.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-credential-stuffing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-credential-stuffing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 13, 2024</p>\n        <h2 class=\"blog-card__title\">What is Credential Stuffing?</h2>\n        <p class=\"blog-card__excerpt\">Most people are familiar with brute force attacks, where attackers attempt to guess passwords using characters at random paired with common password suggestions, but what is Credential Stuffing? In this we will go over this type of attack and how you can safeguard against it.</p>\n      </a>\n    \n      <a href=\"/blog/understanding-captcha\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/understanding-captcha.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 30, 2024</p>\n        <h2 class=\"blog-card__title\">Navigating the Complex World of CAPTCHA Technology in Authentication</h2>\n        <p class=\"blog-card__excerpt\">What is Captcha? Why is it needed? In this blog we will answer these questions and more</p>\n      </a>\n    \n      <a href=\"/blog/localstorage-vs-session-storage\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/localstorage-vs-session-storage.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 17, 2024</p>\n        <h2 class=\"blog-card__title\">Unveiling the Intricacies of Local Storage and Session Storage</h2>\n        <p class=\"blog-card__excerpt\">In this blog we delve into the workings of Local and Session storage breaking down the nuances that set them apart</p>\n      </a>\n    \n      <a href=\"/blog/access-control-for-modern-web-applications\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/access-control-for-modern-web-applications.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 11, 2023</p>\n        <h2 class=\"blog-card__title\">Access Control for modern web applications</h2>\n        <p class=\"blog-card__excerpt\">Access control plays a key role in protecting our data as we progressively move into an online society. In this blog we will explore the different types of access control and how they safeguard against attackers.</p>\n      </a>\n    \n      <a href=\"/blog/multi-tenancy-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-tenancy-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 01, 2023</p>\n        <h2 class=\"blog-card__title\">Multi-Tenant Authentication in 2024</h2>\n        <p class=\"blog-card__excerpt\">Multi-tenant systems allow a single instance of a software application to serve multiple different tenants. This allows for a number of benefits that will be explored in this blog</p>\n      </a>\n    \n      <a href=\"/blog/how-we-cut-our-aws-costs-part-2\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-we-cut-our-aws-costs-part-2.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 01, 2023</p>\n        <h2 class=\"blog-card__title\">How we used multi-tenancy to cut our AWS costs by 50%</h2>\n        <p class=\"blog-card__excerpt\">Part 2 in a series of howe we were able to cut down our AWS infrastructure costs by more than 50%</p>\n      </a>\n    \n      <a href=\"/blog/how-to-create-an-invite-only-auth-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-create-an-invite-only-auth-flow.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 28, 2023</p>\n        <h2 class=\"blog-card__title\">How to create an invite-only auth flow in 2023</h2>\n        <p class=\"blog-card__excerpt\">Invite only flows can drive exclusivity and enhance user engagement. In this blog we will go over how you can customize SuperTokens authentication to create an invite only flow</p>\n      </a>\n    \n      <a href=\"/blog/how-we-cut-our-aws-costs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-we-cut-our-aws-costs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 19, 2023</p>\n        <h2 class=\"blog-card__title\">How we cut our AWS costs by more than 50%</h2>\n        <p class=\"blog-card__excerpt\">Part 1 in a series of  how we were able to cut down our AWS infrastructure costs by more than 50%</p>\n      </a>\n    \n      <a href=\"/blog/http-error-codes-401-vs-403\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/http-error-codes-401-vs-403.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 01, 2023</p>\n        <h2 class=\"blog-card__title\">Demystifying HTTP Error Codes: 401 vs 403 (2026)</h2>\n        <p class=\"blog-card__excerpt\">Learn the difference between HTTP 401 Unauthorized and 403 Forbidden errors, when each applies, and how to handle them correctly in your app.</p>\n      </a>\n    \n      <a href=\"/blog/url-vs-uri\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/uri-vs-url.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 16, 2023</p>\n        <h2 class=\"blog-card__title\">URI vs URL: The real difference between the two</h2>\n        <p class=\"blog-card__excerpt\">In this blog we break down the differences between URL, URI, and URN</p>\n      </a>\n    \n      <a href=\"/blog/understanding-hashicorp-business-source-license\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hashicorp-bsl.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 12, 2023</p>\n        <h2 class=\"blog-card__title\">Why did HashiCorp adopt the Business Source License?</h2>\n        <p class=\"blog-card__excerpt\">What is the Business Source License and why did HashiCorp adopt it?</p>\n      </a>\n    \n      <a href=\"/blog/understanding-jwks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/understanding-jwks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 08, 2023</p>\n        <h2 class=\"blog-card__title\">Understanding JWKS (JSON Web Key Set)</h2>\n        <p class=\"blog-card__excerpt\">JWKS are an important part of the authentication process. In this article we go over what they are and how they are used</p>\n      </a>\n    \n      <a href=\"/blog/authentication-vs-authorization\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication-vs-authorization.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2023</p>\n        <h2 class=\"blog-card__title\">Authentication vs Authorization: What's the difference?</h2>\n        <p class=\"blog-card__excerpt\">Authentication and Authorization represent two fundamentally different aspects of security that work together in order to protect sensitive information. In this blog, we will go over some of the key differences between the two.</p>\n      </a>\n    \n      <a href=\"/blog/migrating-users-without-downtime-in-your-service\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/migrating-users-without-downtime-in-your-service.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 12, 2023</p>\n        <h2 class=\"blog-card__title\">Migrating users without downtime in your service (The Lazy Migration Strategy)</h2>\n        <p class=\"blog-card__excerpt\">User Migration can be a challenging process, in this article we go over some user migration scenarios and break down the lazy migration strategy</p>\n      </a>\n    \n      <a href=\"/blog/building-a-chatbot-that-is-an-expert-at-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-ai-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 23, 2023</p>\n        <h2 class=\"blog-card__title\">How we built a Chatbot that is an Expert at SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how we built a Q&A bot that is an expert at SuperTokens powered by ChatGPT</p>\n      </a>\n    \n      <a href=\"/blog/ory-vs-keycloak-vs-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/ory-vs-keycloak-vs-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 08, 2023</p>\n        <h2 class=\"blog-card__title\">Ory vs Keycloak vs SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Comparing the three leading open-source authentication providers - Ory, Keycloak and SuperTokens</p>\n      </a>\n    \n      <a href=\"/blog/oauth-vs-oidc\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-vs-oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 17, 2023</p>\n        <h2 class=\"blog-card__title\">OIDC vs OAuth</h2>\n        <p class=\"blog-card__excerpt\">We break down the OIDC and OAuth standards and explain the key differences between the two</p>\n      </a>\n    \n      <a href=\"/blog/testing-sso-implementation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso_implementation_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 17, 2023</p>\n        <h2 class=\"blog-card__title\">Testing SSO Implementation</h2>\n        <p class=\"blog-card__excerpt\">A guide into single sign-on implementation and how to perform sso testing for authentication and login</p>\n      </a>\n    \n      <a href=\"/blog/learnings-from-revamping-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/website-revamp-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2023</p>\n        <h2 class=\"blog-card__title\">Learnings from Revamping SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">A #buildinpublic piece on why we designed the SuperTokens homepage</p>\n      </a>\n    \n      <a href=\"/blog/implementing-the-right-email-verification-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/email_verification_blog_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 24, 2023</p>\n        <h2 class=\"blog-card__title\">Implementing the right Email Verification flow</h2>\n        <p class=\"blog-card__excerpt\">Email verification can increase friction and adds another stop to onboarding, but when done correctly can lead to better security and establish better communication with users.</p>\n      </a>\n    \n      <a href=\"/blog/a-guide-to-implementing-passwordless-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passwordless_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 23, 2023</p>\n        <h2 class=\"blog-card__title\">A Guide to Implementing Passwordless Login</h2>\n        <p class=\"blog-card__excerpt\">Passwordless is one of the most popular authentication methods</p>\n      </a>\n    \n      <a href=\"/blog/creating-great-authentication-experiences-with-custom-ui\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/custom_ui.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 16, 2023</p>\n        <h2 class=\"blog-card__title\">Creating Great Authentication Experiences with Custom UI</h2>\n        <p class=\"blog-card__excerpt\">A guide on creating great authentication experiences with custom UI</p>\n      </a>\n    \n      <a href=\"/blog/what-do-pre-built-authentication-ui-tools-look-like\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/prebuilt-auth-ui-comparison-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 11, 2023</p>\n        <h2 class=\"blog-card__title\">What do pre-built authentication UIs look like?</h2>\n        <p class=\"blog-card__excerpt\">A comparison of the pre-built UIs from current authentication providers and how to customize them</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-2022-year-in-review\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens_year_in_review_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 09, 2023</p>\n        <h2 class=\"blog-card__title\">SuperTokens 2022 Year in Review</h2>\n        <p class=\"blog-card__excerpt\">2022 had been an amazing year for SuperTokens, here are some of the top highlights</p>\n      </a>\n    \n      <a href=\"/blog/introducing-user-roles-authorization-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/user_roles_cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 27, 2022</p>\n        <h2 class=\"blog-card__title\">Introducing User Roles Authorization with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">With user roles, you can now use SuperTokens to easily attach a different set of permissions to each user.</p>\n      </a>\n    \n      <a href=\"/blog/supabase-auth-comparison-with-supertokens-integration\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supabase-blog-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 12, 2022</p>\n        <h2 class=\"blog-card__title\">Protecting your Supabase app with SuperTokens authentication.</h2>\n        <p class=\"blog-card__excerpt\">When building an app with Supabase you will have to choose an authentication solution. Here are some reasons why you should choose SuperTokens as you auth provider and why it pairs so well with Supabase</p>\n      </a>\n    \n      <a href=\"/blog/connect-supertokens-to-database\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-db.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 24, 2022</p>\n        <h2 class=\"blog-card__title\">How to connect SuperTokens to a MySQL or to a PostgreSQL database</h2>\n        <p class=\"blog-card__excerpt\">Learn how to connect a self-hosted SuperTokens core to a database with or without Docker</p>\n      </a>\n    \n      <a href=\"/blog/how-to-deploy-supertokens-with-react-nodejs-express-on-vercel\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vercel.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 14, 2022</p>\n        <h2 class=\"blog-card__title\">How to deploy SuperTokens with React and NodeJS on Vercel</h2>\n        <p class=\"blog-card__excerpt\">This tutorial wil guide you on how to add SuperTokens to a React and Express app deployed on Vercel</p>\n      </a>\n    \n      <a href=\"/blog/how-to-set-up-social-and-email-password-login-with-reactjs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-set-up-social-and-email-password-login-with-reactjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 09, 2022</p>\n        <h2 class=\"blog-card__title\">How to Set up Social and Email Password Login With ReactJS in 10 Minute</h2>\n        <p class=\"blog-card__excerpt\"> In this blog, we'll walk you through setting up an email-password authentication with popular social providers like Google, GitHub, and Apple using SuperTokens on a ReactJS application with ExpressJS as the backend.</p>\n      </a>\n    \n      <a href=\"/blog/adding-social-login-to-your-website-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/adding-social-login-to-your-website-with-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 26, 2022</p>\n        <h2 class=\"blog-card__title\">Adding social login to your website with SuperTokens (custom UI only)</h2>\n        <p class=\"blog-card__excerpt\">This blog walks you through integrating your frontend with social login APIs provided by SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-customise-supertokens-apis\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-customise-supertokens-apis.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 13, 2021</p>\n        <h2 class=\"blog-card__title\">How to customise SuperTokens APIs</h2>\n        <p class=\"blog-card__excerpt\">Any auth solution must provide the ability to customise their APIs. In this blog we discuss how to customise the auth APIs provided by SuperTokens using its “Override” feature</p>\n      </a>\n    \n      <a href=\"/blog/why-is-redux-state-immutable\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/why-is-redux-state-immutable.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 11, 2021</p>\n        <h2 class=\"blog-card__title\">Why is redux state immutable?</h2>\n        <p class=\"blog-card__excerpt\">This blog covers an analysis of why redux state is immutable and how you should go about modifying state in your Redux applications</p>\n      </a>\n    \n      <a href=\"/blog/solve-the-problem-of-vendor-lock-in\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/solve-the-problem-of-vendor-lock-in.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 10, 2021</p>\n        <h2 class=\"blog-card__title\">Solve the problem of vendor lock-in</h2>\n        <p class=\"blog-card__excerpt\">What is vendor lock-in? How does it affect your customers? What are the different ways you can minimize it? Read the blog to learn more.</p>\n      </a>\n    \n      <a href=\"/blog/the-real-reason-okta-spent-on-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-real-reason-okta-spent-on-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 05, 2021</p>\n        <h2 class=\"blog-card__title\">The real reason Okta spent $6.5B on Auth0</h2>\n        <p class=\"blog-card__excerpt\">Why did Okta spend $6.5B on Auth0? What does this mean for app developers? See reactions from customers and employees</p>\n      </a>\n    \n      <a href=\"/blog/speed-up-your-web-development-time-by-integrating-webflow-into-a-react-application\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/speed-up-your-web-development-time-by-integrating-webflow-into-a-react-application.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 10, 2020</p>\n        <h2 class=\"blog-card__title\">Speed up your web development time by integrating Webflow into a React application</h2>\n        <p class=\"blog-card__excerpt\">Writing JSX to build pixel perfect UI elements can be very time consuming and frustrating. Learn how react engineers can inject complex elements / React components into a Webflow generated HTML page.</p>\n      </a>\n    \n      <a href=\"https://www.youtube.com/watch?v=6Vzit514kZY&list=PLE5w09cAseKTIFCImkqFbSeYMHPzW7M_f&index=17\" rel=\"nofollow\" target=\"_blank\" class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/conference-detecting-session-hijacking.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 30, 2020</p>\n        <h2 class=\"blog-card__title\">Detecting session hijacking using rotating refresh tokens - OSW 2020</h2>\n        <p class=\"blog-card__excerpt\">Session hijacking is one of the oldest, yet unsolved, attack vectors to gain unauthorised access to a user’s account. This discussion is regarding a method called \"rotating refresh tokens\" to better detect token theft.</p>\n      </a>\n    \n      <a href=\"/blog/express-session-vs-supertokens-for-handling-user-sessions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/express-session-vs-supertokens-for-handling-user-sessions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 11, 2020</p>\n        <h2 class=\"blog-card__title\">Express-session vs SuperTokens for handling user sessions</h2>\n        <p class=\"blog-card__excerpt\">This article will be comparing SuperTokens to Node’s most popular session management library– express-session. Learn more about the comparison based on different security and performance metrics.</p>\n      </a>\n    \n      <a href=\"/blog/should-you-use-express-session-for-your-production-app\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/should-you-use-express-session-for-your-production-app.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2020</p>\n        <h2 class=\"blog-card__title\">Should you use Express-session for your production app?</h2>\n        <p class=\"blog-card__excerpt\">Being Node’s most popular session management library, express-session has its set of flaws– especially when it comes to security. This article will help you analyse the good and bad parts of it.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-2-vs-session-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-2-vs-session-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 24, 2020</p>\n        <h2 class=\"blog-card__title\">OAuth 2.0 vs Session Management</h2>\n        <p class=\"blog-card__excerpt\">A lot of developers confuse OAuth with web session management and hence end up using the wrong protocol. This article will clarify when to use what solution.</p>\n      </a>\n    \n      <a href=\"/blog/are-you-using-jwts-for-user-sessions-in-the-correct-way\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/are-you-using-jwts-for-user-sessions-in-the-correct-way.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2020</p>\n        <h2 class=\"blog-card__title\">Are you using JWTs for user sessions in the correct way?</h2>\n        <p class=\"blog-card__excerpt\">JWTs were originally designed for use in OAuth. This article covers the pros and cons of using JWT and talks about a solution which has the advantages of JWTs without any of its disadvantages.</p>\n      </a>\n    \n      <a href=\"/blog/the-best-way-to-securely-manage-user-sessions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-best-way-to-securely-manage-user-sessions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 08, 2019</p>\n        <h2 class=\"blog-card__title\">The best way to securely manage user sessions</h2>\n        <p class=\"blog-card__excerpt\">This blog covers an analysis of a new open source session flow that is secure and easy to integrate. Learn more about the customizable library and its implementation details.</p>\n      </a>\n    \n      <a href=\"/blog/all-you-need-to-know-about-user-session-security\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/all-you-need-to-know-about-user-session-security.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 07, 2019</p>\n        <h2 class=\"blog-card__title\">All you need to know about user session security</h2>\n        <p class=\"blog-card__excerpt\">This article covers extensive conversations with over 70+ developers exploring different session management practices, identifying issues and converging on a solution to these issues. </p>\n      </a>\n    ","sessions":"\n      <a href=\"/blog/cookies-vs-localstorage-for-sessions-everything-you-need-to-know\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/cookies-vs-localstorage-for-sessions-everything-you-need-to-know.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 16, 2024</p>\n        <h2 class=\"blog-card__title\">Cookies vs. LocalStorage: Storing Session Data and Beyond</h2>\n        <p class=\"blog-card__excerpt\">Learn about the best approach and common misconceptions of storing sessions in cookies or browser storage</p>\n      </a>\n    \n      <a href=\"/blog/what-is-jwt\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/what-is-jwt-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2024</p>\n        <h2 class=\"blog-card__title\">What is a JWT? Understanding JSON Web Tokens (2026 Guide)</h2>\n        <p class=\"blog-card__excerpt\">Explore JWT tokens: secure, compact credentials for modern web authentication. Learn how they work, their benefits, and best practices for implementing them in your applications.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-vs-jwt\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/oauth_vs_jwt.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 20, 2024</p>\n        <h2 class=\"blog-card__title\">OAuth vs JWT (JSON Web Tokens): An In-Depth Comparison</h2>\n        <p class=\"blog-card__excerpt\">Explore the key differences between OAuth and JWT in this comprehensive guide. Learn when to use each, their pros and cons, and how they can work together for robust authentication.</p>\n      </a>\n    \n      <a href=\"https://www.youtube.com/watch?v=6Vzit514kZY&list=PLE5w09cAseKTIFCImkqFbSeYMHPzW7M_f&index=17\" rel=\"nofollow\" target=\"_blank\" class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/conference-detecting-session-hijacking.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 30, 2020</p>\n        <h2 class=\"blog-card__title\">Detecting session hijacking using rotating refresh tokens - OSW 2020</h2>\n        <p class=\"blog-card__excerpt\">Session hijacking is one of the oldest, yet unsolved, attack vectors to gain unauthorised access to a user’s account. This discussion is regarding a method called \"rotating refresh tokens\" to better detect token theft.</p>\n      </a>\n    \n      <a href=\"/blog/express-session-vs-supertokens-for-handling-user-sessions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/express-session-vs-supertokens-for-handling-user-sessions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 11, 2020</p>\n        <h2 class=\"blog-card__title\">Express-session vs SuperTokens for handling user sessions</h2>\n        <p class=\"blog-card__excerpt\">This article will be comparing SuperTokens to Node’s most popular session management library– express-session. Learn more about the comparison based on different security and performance metrics.</p>\n      </a>\n    \n      <a href=\"/blog/should-you-use-express-session-for-your-production-app\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/should-you-use-express-session-for-your-production-app.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2020</p>\n        <h2 class=\"blog-card__title\">Should you use Express-session for your production app?</h2>\n        <p class=\"blog-card__excerpt\">Being Node’s most popular session management library, express-session has its set of flaws– especially when it comes to security. This article will help you analyse the good and bad parts of it.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-2-vs-session-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-2-vs-session-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 24, 2020</p>\n        <h2 class=\"blog-card__title\">OAuth 2.0 vs Session Management</h2>\n        <p class=\"blog-card__excerpt\">A lot of developers confuse OAuth with web session management and hence end up using the wrong protocol. This article will clarify when to use what solution.</p>\n      </a>\n    \n      <a href=\"/blog/are-you-using-jwts-for-user-sessions-in-the-correct-way\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/are-you-using-jwts-for-user-sessions-in-the-correct-way.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2020</p>\n        <h2 class=\"blog-card__title\">Are you using JWTs for user sessions in the correct way?</h2>\n        <p class=\"blog-card__excerpt\">JWTs were originally designed for use in OAuth. This article covers the pros and cons of using JWT and talks about a solution which has the advantages of JWTs without any of its disadvantages.</p>\n      </a>\n    \n      <a href=\"/blog/the-best-way-to-securely-manage-user-sessions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-best-way-to-securely-manage-user-sessions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 08, 2019</p>\n        <h2 class=\"blog-card__title\">The best way to securely manage user sessions</h2>\n        <p class=\"blog-card__excerpt\">This blog covers an analysis of a new open source session flow that is secure and easy to integrate. Learn more about the customizable library and its implementation details.</p>\n      </a>\n    \n      <a href=\"/blog/all-you-need-to-know-about-user-session-security\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/all-you-need-to-know-about-user-session-security.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 07, 2019</p>\n        <h2 class=\"blog-card__title\">All you need to know about user session security</h2>\n        <p class=\"blog-card__excerpt\">This article covers extensive conversations with over 70+ developers exploring different session management practices, identifying issues and converging on a solution to these issues. </p>\n      </a>\n    ","featured":"\n      <a href=\"/blog/cli-overhaul\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/cli-overhaul.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2025</p>\n        <h2 class=\"blog-card__title\">Solving Auth for Everyone: The SuperTokens CLI Overhaul</h2>\n        <p class=\"blog-card__excerpt\">We overhauled our CLI to be both a teaching tool and a real project starter—making it easier than ever to add auth to any stack, your way.</p>\n      </a>\n    \n      <a href=\"/blog/passkeys-vs-passwords\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/passkeys-vs-passwords.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 25, 2025</p>\n        <h2 class=\"blog-card__title\">Passkeys vs Passwords – Which Is the Better Authentication Choice?</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between passkeys and passwords in modern authentication. Learn why passkeys are more secure, user-friendly, and built for the future of login systems.</p>\n      </a>\n    \n      <a href=\"/blog/cloud-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/cloud-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 15, 2025</p>\n        <h2 class=\"blog-card__title\">What is Cloud-Based Authentication? A Detailed Guide</h2>\n        <p class=\"blog-card__excerpt\">Cloud-based authentication refers to verifying user identities (often leveraging identity and access management, or IAM) and granting user access through services hosted offsite—often by dedicated identity providers—rather than keeping everything locked down on your own physical on-premises servers. This fundamental shift spares organizations from the headaches of provisioning hardware, configuring security solutions, and maintaining on-prem infrastructure. It also allows you to tap into more sophisticated authentication methods (like multi-factor authentication (MFA) or passwordless approaches) without massive up-front investments or complex, in-house integrations.</p>\n      </a>\n    \n      <a href=\"/blog/okta-vs-onelogin\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-vs-onelogin.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 02, 2025</p>\n        <h2 class=\"blog-card__title\">Okta vs OneLogin: The Main Differences</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between Okta and OneLogin to help you choose the right IAM solution.</p>\n      </a>\n    \n      <a href=\"/blog/machine-to-machine-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/M2M.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2025</p>\n        <h2 class=\"blog-card__title\">Understanding Machine-to-Machine (M2M) Authentication: 2025 Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore the essentials of machine-to-machine authentication and best practices for implementing secure M2M communication.</p>\n      </a>\n    \n      <a href=\"/blog/okta-vs-azure-ad\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-vs-azure.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2025</p>\n        <h2 class=\"blog-card__title\">Okta vs Azure AD: Which IAM Solution Wins?</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between Okta and Azure Active Directory (AD) to help you choose the right IAM solution. </p>\n      </a>\n    \n      <a href=\"/blog/enumeration-attack\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hackers-exploit-numeration-attacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 10, 2025</p>\n        <h2 class=\"blog-card__title\">7 Sneaky Ways Hackers Exploit Enumeration Attacks—and How to Stop Them</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 7 tactics hackers use in enumeration attacks and learn effective strategies to safeguard your authentication systems.</p>\n      </a>\n    \n      <a href=\"/blog/firebase-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/firebase-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 08, 2025</p>\n        <h2 class=\"blog-card__title\">4 Best Firebase Alternatives for Scalable App Development [2026 Guide]</h2>\n        <p class=\"blog-card__excerpt\">Discover the top Firebase alternatives, their features, and how they compare. Learn why SuperTokens is the best authentication solution for secure and scalable apps.</p>\n      </a>\n    \n      <a href=\"/blog/multi-tenant-architecture\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-tenant-architecture.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 18, 2025</p>\n        <h2 class=\"blog-card__title\">Multi-Tenant Architecture: Benefits, Practices & Implementation</h2>\n        <p class=\"blog-card__excerpt\"> This blog provides an in-depth exploration of how multi‑tenant SaaS architectures boost scalability, reduce costs, and enhance security through SuperTokens' innovative approach.</p>\n      </a>\n    \n      <a href=\"/blog/otp-bots\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/otp-bots.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 17, 2025</p>\n        <h2 class=\"blog-card__title\">One-Time Password (OTP) Bots: How They Work and How to Defend Against Them</h2>\n        <p class=\"blog-card__excerpt\">Explore how OTP bots bypass two-factor authentication (2FA), their growing threats, and strategies to protect your application using tools like SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/sim-swapping\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sim-swapping.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 15, 2025</p>\n        <h2 class=\"blog-card__title\">SIM Swapping Is Hijacking Your User Accounts: How to Shut It Down</h2>\n        <p class=\"blog-card__excerpt\">Learn about SIM swapping scams, their impact on personal security, and effective strategies to safeguard your mobile identity.</p>\n      </a>\n    \n      <a href=\"/blog/webhook-vs-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/webhook-vs-api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 11, 2025</p>\n        <h2 class=\"blog-card__title\">Webhook vs API: Key Differences and Use Cases (2026)</h2>\n        <p class=\"blog-card__excerpt\">Explore the distinctions between webhooks and APIs, their functionalities, and determine the best scenarios for each in your integration strategy.</p>\n      </a>\n    \n      <a href=\"/blog/password-cracking-and-how-to-protect-against-them\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password-cracking.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 05, 2025</p>\n        <h2 class=\"blog-card__title\">Top Password Cracking Techniques and How to Protect Against Them 🔐</h2>\n        <p class=\"blog-card__excerpt\">Learn the most common password cracking techniques used by hackers and practical strategies to secure your accounts from such threats.</p>\n      </a>\n    \n      <a href=\"/blog/choosing-the-right-authentication-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/right-auth-provider-and-API.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 27, 2025</p>\n        <h2 class=\"blog-card__title\">Choosing the Right Authentication Provider and API for Secure Applications</h2>\n        <p class=\"blog-card__excerpt\">Learn how authentication providers and APIs secure modern applications. Explore features and integration tips to enhance user authentication and data protection.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-passwordless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-passwordless-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 27, 2025</p>\n        <h2 class=\"blog-card__title\">What is Passwordless Authentication: The Cool Kid on The Block? 🔒🚫</h2>\n        <p class=\"blog-card__excerpt\">What is passwordless authentication? Solve login challenges, explore methods, benefits, and tools for secure implementations.</p>\n      </a>\n    \n      <a href=\"/blog/risk-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/risk-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 20, 2025</p>\n        <h2 class=\"blog-card__title\">What is Risk-Based Authentication? A Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Learn how Risk-Based Authentication enhances security by adapting to user behavior and mitigating threats in real-time.</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication-in-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication-in-api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 20, 2024</p>\n        <h2 class=\"blog-card__title\">Token-Based Authentication for APIs: What It Is and How It Works</h2>\n        <p class=\"blog-card__excerpt\">Discover how token-based authentication secures APIs with this simple guide. Understand its process, benefits, drawbacks and more.</p>\n      </a>\n    \n      <a href=\"/blog/sso-implementation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-implementation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 02, 2024</p>\n        <h2 class=\"blog-card__title\">A Comprehensive Guide to SSO Implementation 2024</h2>\n        <p class=\"blog-card__excerpt\">This blog explores the benefits and functionalities of Single Sign-On (SSO), highlighting how it simplifies user authentication, enhances security, and integrates with modern identity management systems. It also covers how open standards like OAuth 2.0 and OIDC enable seamless access to applications, including the use of social logins from services like Google, Facebook, and Twitter.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-frameworks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management-frameworks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 26, 2024</p>\n        <h2 class=\"blog-card__title\">Introduction to IAM Frameworks: Simplifying Access Management for Developers</h2>\n        <p class=\"blog-card__excerpt\">Learn everything about Identity and Access Management (IAM) frameworks in this comprehensive guide.</p>\n      </a>\n    \n      <a href=\"/blog/django-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/django-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2024</p>\n        <h2 class=\"blog-card__title\">A comprehensive guide to Django's user authentication system</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement user registration, login/logout, permissions etc using Django's built-in user authentication system.</p>\n      </a>\n    \n      <a href=\"/blog/flask-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/flask-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 04, 2024</p>\n        <h2 class=\"blog-card__title\">Adding Authentication to Your Flask Backend with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to seamlessly add authentication to your Flask backend using SuperTokens. This guide covers setting up authentication with the SuperTokens CLI or manual configuration, enabling you to focus on building application logic instead of authentication infrastructure.</p>\n      </a>\n    \n      <a href=\"/blog/but-auth-is-hard\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/but-auth-is-hard.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 16, 2024</p>\n        <h2 class=\"blog-card__title\">\"BuT, aUtH iS HaRd\"</h2>\n        <p class=\"blog-card__excerpt\">No, it's not. It's boring, red-tapey, a solved problem... but don't call it hard as a blanket statement.</p>\n      </a>\n    \n      <a href=\"/blog/authentik-vs-keycloak\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentik-vs-keycloak.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2024</p>\n        <h2 class=\"blog-card__title\">Authentik Vs. Keycloak: Features and Experience Comparison</h2>\n        <p class=\"blog-card__excerpt\">This blog compares Authentik and Keycloak, two popular open-source IAM solutions, highlighting their features, security, customization, and scalability. We break down which tool is best suited for different business sizes and needs, including an alternative, SuperTokens, for teams seeking a middle ground.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-vs-clerk\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-vs-clerk.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 12, 2024</p>\n        <h2 class=\"blog-card__title\">AuthO Vs. Clerk: Features, Pricing, And Pros & Cons</h2>\n        <p class=\"blog-card__excerpt\">Explore a comprehensive comparison of Auth0 and Clerk, two leading authentication providers. Discover their unique features, pricing, and best use cases to help you choose the right tool for your project</p>\n      </a>\n    \n      <a href=\"/blog/customer-retrospective\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/customer-retrospective.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 18, 2024</p>\n        <h2 class=\"blog-card__title\">SuperTokens Customer Retrospective</h2>\n        <p class=\"blog-card__excerpt\">A look back at how SuperTokens empowered clients across industries with flexible, secure authentication solutions. Explore key case studies and insights that shaped a year of innovation and success.</p>\n      </a>\n    \n      <a href=\"/blog/demystifying-saml\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/demystifying-saml.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 20, 2024</p>\n        <h2 class=\"blog-card__title\">Demystifying SAML: A Comprehensive Guide</h2>\n        <p class=\"blog-card__excerpt\">SAML is an authentication standard created to address the growing need of federated identity. In this blog we go over what SAML is and what makes it special.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-alternatives-auth0-vs-okta-vs-cognito-vs-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth_comparison_header.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 11, 2024</p>\n        <h2 class=\"blog-card__title\">Top Auth0 alternatives: Auth0 vs Okta vs Cognito vs SuperTokens [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth review of Auth0 alternatives for 2024: Auth0 vs Okta vs Cognito vs SuperTokens</p>\n      </a>\n    \n      <a href=\"/blog/what-is-roles-based-access-control-vs-abac\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-rbac-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 07, 2024</p>\n        <h2 class=\"blog-card__title\">What is Roles-Based Access Control (RBAC)?</h2>\n        <p class=\"blog-card__excerpt\">Learn about RBAC and advantages + disadvantages compared to ABAC.</p>\n      </a>\n    \n      <a href=\"/blog/okta-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/okta-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 02, 2024</p>\n        <h2 class=\"blog-card__title\">Okta Pricing: The Complete Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Okta's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/5-tips-for-optimizing-your-react-apps-performance\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/optimize-react-app-performance.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2024</p>\n        <h2 class=\"blog-card__title\">Tips for Optimizing Your React App’s Performance</h2>\n        <p class=\"blog-card__excerpt\">Poor app performance can reduce user engagement and will negatively affect SEO, here are tips to optimize your react app</p>\n      </a>\n    \n      <a href=\"/blog/clerk-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 28, 2024</p>\n        <h2 class=\"blog-card__title\">Clerk Alternatives: Ceding vs. Owning UAM Control</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Auth0's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/auth0-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 26, 2024</p>\n        <h2 class=\"blog-card__title\">Auth0 Pricing: The Complete Cost Breakdown [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering Auth0's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-keycloak\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-keycloak.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 12, 2024</p>\n        <h2 class=\"blog-card__title\">Supertokens Vs Keycloak: Going Custom Vs. Off-The-Shelf</h2>\n        <p class=\"blog-card__excerpt\">Explore a high level comparison between two popular open-source authentication solutions, SuperTokens and Keycloak. This blog covers their key differences in architecture, configuration, UI, customizability, enterprise readiness, and more. Learn the advantages and disadvantages of each to determine which solution best fits your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 10, 2024</p>\n        <h2 class=\"blog-card__title\">Features, Pricing, & Flexibility: Comparing AuthO Alternatives</h2>\n        <p class=\"blog-card__excerpt\">This blog explores alternatives to Auth0, a leading IAM platform, highlighting options like SuperTokens, Okta, Firebase Authentication, AWS Cognito, FusionAuth, and Keycloak. It discusses key considerations such as pricing, customization, scalability, and integration, helping you choose the best authentication solution for your needs.</p>\n      </a>\n    \n      <a href=\"/blog/stych-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 06, 2024</p>\n        <h2 class=\"blog-card__title\">Stytch Alternatives For More Flexible User Access</h2>\n        <p class=\"blog-card__excerpt\">This blog explores top Stytch alternatives for user access management, including SuperTokens, Auth0, and Firebase Authentication. We compare their features, flexibility, and pricing to help you choose the right solution. We also discuss open-source vs. proprietary systems and the benefits of building a custom security flow vs. using ready-made software.</p>\n      </a>\n    \n      <a href=\"/blog/cognito-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cognito-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 04, 2024</p>\n        <h2 class=\"blog-card__title\">Cognito Alternatives: Access Services That Pair With Any Set-Up</h2>\n        <p class=\"blog-card__excerpt\">In this blog, we evaluate Amazon Cognito and compare it with five leading alternatives: SuperTokens, Clerk, Auth0, Stytch, and Frontegg. We'll cover pricing, setup complexity, data migration, and security features. Additionally, we discuss the benefits of open-source authentication and the choice between customized and out-of-the-box solutions. This guide helps you find the best user management solution for your needs.</p>\n      </a>\n    \n      <a href=\"/blog/cognito-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cognito-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 03, 2024</p>\n        <h2 class=\"blog-card__title\">AWS Cognito Pricing: The Complete Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">An in depth guide covering AWS Cognito's pricing model</p>\n      </a>\n    \n      <a href=\"/blog/oauth-grant-types\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-grant-types.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 17, 2024</p>\n        <h2 class=\"blog-card__title\">Choosing The Right OAuth Grant Types For Your User</h2>\n        <p class=\"blog-card__excerpt\">Discover the ins and outs of OAuth grant types and learn how to implement secure, user-friendly authentication flows. This comprehensive guide covers the different OAuth grant types, their best use cases, and practical tips for customizing your authorization flow.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-token\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-token.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 16, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding & Using OAuth Tokens For Easy & Secure Login </h2>\n        <p class=\"blog-card__excerpt\">Explore OAuth tokens in web security, their types, benefits, and best practices. Learn to implement and customize OAuth flows for optimal security and user experience.</p>\n      </a>\n    \n      <a href=\"/blog/passwordless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password_less_blog.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 07, 2024</p>\n        <h2 class=\"blog-card__title\">How To Streamline Access With Passwordless Authentication</h2>\n        <p class=\"blog-card__excerpt\">A quick overview on how passwordless authentication can help streamline the login experience and increase user conversions</p>\n      </a>\n    \n      <a href=\"/blog/understanding-hashicorp-business-source-license\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hashicorp-bsl.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 12, 2023</p>\n        <h2 class=\"blog-card__title\">Why did HashiCorp adopt the Business Source License?</h2>\n        <p class=\"blog-card__excerpt\">What is the Business Source License and why did HashiCorp adopt it?</p>\n      </a>\n    \n      <a href=\"/blog/understanding-jwks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/understanding-jwks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 08, 2023</p>\n        <h2 class=\"blog-card__title\">Understanding JWKS (JSON Web Key Set)</h2>\n        <p class=\"blog-card__excerpt\">JWKS are an important part of the authentication process. In this article we go over what they are and how they are used</p>\n      </a>\n    \n      <a href=\"/blog/oauth-vs-oidc\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-vs-oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 17, 2023</p>\n        <h2 class=\"blog-card__title\">OIDC vs OAuth</h2>\n        <p class=\"blog-card__excerpt\">We break down the OIDC and OAuth standards and explain the key differences between the two</p>\n      </a>\n    \n      <a href=\"/blog/creating-great-authentication-experiences-with-custom-ui\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/custom_ui.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 16, 2023</p>\n        <h2 class=\"blog-card__title\">Creating Great Authentication Experiences with Custom UI</h2>\n        <p class=\"blog-card__excerpt\">A guide on creating great authentication experiences with custom UI</p>\n      </a>\n    \n      <a href=\"/blog/what-do-pre-built-authentication-ui-tools-look-like\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/prebuilt-auth-ui-comparison-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 11, 2023</p>\n        <h2 class=\"blog-card__title\">What do pre-built authentication UIs look like?</h2>\n        <p class=\"blog-card__excerpt\">A comparison of the pre-built UIs from current authentication providers and how to customize them</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-2022-year-in-review\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens_year_in_review_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 09, 2023</p>\n        <h2 class=\"blog-card__title\">SuperTokens 2022 Year in Review</h2>\n        <p class=\"blog-card__excerpt\">2022 had been an amazing year for SuperTokens, here are some of the top highlights</p>\n      </a>\n    \n      <a href=\"/blog/supabase-auth-comparison-with-supertokens-integration\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supabase-blog-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 12, 2022</p>\n        <h2 class=\"blog-card__title\">Protecting your Supabase app with SuperTokens authentication.</h2>\n        <p class=\"blog-card__excerpt\">When building an app with Supabase you will have to choose an authentication solution. Here are some reasons why you should choose SuperTokens as you auth provider and why it pairs so well with Supabase</p>\n      </a>\n    \n      <a href=\"/blog/the-real-reason-okta-spent-on-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-real-reason-okta-spent-on-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 05, 2021</p>\n        <h2 class=\"blog-card__title\">The real reason Okta spent $6.5B on Auth0</h2>\n        <p class=\"blog-card__excerpt\">Why did Okta spend $6.5B on Auth0? What does this mean for app developers? See reactions from customers and employees</p>\n      </a>\n    \n      <a href=\"/blog/are-you-using-jwts-for-user-sessions-in-the-correct-way\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/are-you-using-jwts-for-user-sessions-in-the-correct-way.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2020</p>\n        <h2 class=\"blog-card__title\">Are you using JWTs for user sessions in the correct way?</h2>\n        <p class=\"blog-card__excerpt\">JWTs were originally designed for use in OAuth. This article covers the pros and cons of using JWT and talks about a solution which has the advantages of JWTs without any of its disadvantages.</p>\n      </a>\n    \n      <a href=\"/blog/the-best-way-to-securely-manage-user-sessions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-best-way-to-securely-manage-user-sessions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 08, 2019</p>\n        <h2 class=\"blog-card__title\">The best way to securely manage user sessions</h2>\n        <p class=\"blog-card__excerpt\">This blog covers an analysis of a new open source session flow that is secure and easy to integrate. Learn more about the customizable library and its implementation details.</p>\n      </a>\n    \n      <a href=\"/blog/all-you-need-to-know-about-user-session-security\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/all-you-need-to-know-about-user-session-security.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 07, 2019</p>\n        <h2 class=\"blog-card__title\">All you need to know about user session security</h2>\n        <p class=\"blog-card__excerpt\">This article covers extensive conversations with over 70+ developers exploring different session management practices, identifying issues and converging on a solution to these issues. </p>\n      </a>\n    ","programming":"\n      <a href=\"/blog/passkeys-vs-passwords-vs-magic-links\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/passkeys-vs-passwords-vs-magic-links.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 25, 2026</p>\n        <h2 class=\"blog-card__title\">Passkeys vs. Passwords vs. Magic Links: Choosing the Right Authentication Method</h2>\n        <p class=\"blog-card__excerpt\">Passwords, magic links, OTP, and passkeys compared on phishing resistance, UX friction, and recovery, with a framework for picking one.</p>\n      </a>\n    \n      <a href=\"/blog/what-are-passkeys\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/what-are-passkeys.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 23, 2026</p>\n        <h2 class=\"blog-card__title\">What Are Passkeys? A Developer's Guide to WebAuthn and FIDO2</h2>\n        <p class=\"blog-card__excerpt\">A developer's guide to passkeys: what they are cryptographically, how WebAuthn and FIDO2 fit together, and where the real trade-offs live.</p>\n      </a>\n    \n      <a href=\"/blog/auth-for-ai-agents\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            \n            src=\"/card_covers/auth-for-ai-agents.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2026</p>\n        <h2 class=\"blog-card__title\">AI Agent Authentication: Scoped Tokens, MCP, and Per-Action Authorization</h2>\n        <p class=\"blog-card__excerpt\">AI agent authentication explained: scoped tokens, MCP OAuth 2.1 requirements, and per-action authorization gates.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-flows\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-flows.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 09, 2026</p>\n        <h2 class=\"blog-card__title\">OAuth Flows Explained: How They Work and When to Use Them</h2>\n        <p class=\"blog-card__excerpt\">Understand different OAuth flows, when to use each, and how SuperTokens supports secure OAuth integration.</p>\n      </a>\n    \n      <a href=\"/blog/session-hijacking-fixation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/session-hijacking-fixation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 08, 2026</p>\n        <h2 class=\"blog-card__title\">Mastering Session Security: SuperTokens’ Attack Mitigation</h2>\n        <p class=\"blog-card__excerpt\">Stop session hijacking and fixation with a layered plan: timeouts, cookie flags, rotation, and SuperTokens’ theft detection for secure authentication sessions.</p>\n      </a>\n    \n      <a href=\"/blog/react-bootstrap-forms\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/react-bootstrap-forms.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 26, 2026</p>\n        <h2 class=\"blog-card__title\">Create Responsive, Accessible Forms with React Bootstrap</h2>\n        <p class=\"blog-card__excerpt\">A step-by-step guide to building, validating, and styling forms in React using the react-bootstrap library.</p>\n      </a>\n    \n      <a href=\"/blog/saml-vs-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/saml-vs-sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 22, 2026</p>\n        <h2 class=\"blog-card__title\">SAML vs. SSO: What's the Difference, How They Work Together, and Which One You Actually Need</h2>\n        <p class=\"blog-card__excerpt\">SAML and SSO aren't the same thing. Learn the key differences, how SAML-based SSO works step by step, when to use SAML vs. OIDC, and how to implement it with SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/secure-multi-tenant-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/secure-multi-tenant-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 20, 2026</p>\n        <h2 class=\"blog-card__title\">Secure Multi-Tenant Authentication: SaaS RBAC with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">For B2B SaaS and platform builders shipping tenant-aware authentication, SSO, and least-privilege access with open-source ergonomics and enterprise guarantees.</p>\n      </a>\n    \n      <a href=\"/blog/the-hidden-cost-of-building-your-own-auth-stacks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/the-hidden-cost-of-building-your-own-auth-stacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 20, 2026</p>\n        <h2 class=\"blog-card__title\">The Hidden Costs of Building Your Own Authentication Stacks</h2>\n        <p class=\"blog-card__excerpt\">Building authentication in-house drains time, money, and focus. See the hidden costs and why SuperTokens slashes them.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-ban-users\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-ban-users.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 22, 2026</p>\n        <h2 class=\"blog-card__title\">How to Ban Users in Your Web App By Using SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to ban or suspend users in your web app by using SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-open-source\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-open-source.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 09, 2026</p>\n        <h2 class=\"blog-card__title\">Auth0 Open Source (2026): What's Free and What Are The Top OSS Alternatives</h2>\n        <p class=\"blog-card__excerpt\">Is Auth0 open source? What actually is OSS, and which open-source Auth0 alternatives (Keycloak, Ory, SuperTokens) fit your stack in 2026?</p>\n      </a>\n    \n      <a href=\"/blog/build-vs-buy\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/build-vs-buy.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 09, 2026</p>\n        <h2 class=\"blog-card__title\">Build vs. Buy Identity Management: 2026 Decision Matrix</h2>\n        <p class=\"blog-card__excerpt\">How to choose build, buy, or a hybrid approach for identity with a 2026 decision matrix, TCO cues, and risk checks drawn from today’s top resources.</p>\n      </a>\n    \n      <a href=\"/blog/migrate-from-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/migrate-from-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 27, 2026</p>\n        <h2 class=\"blog-card__title\">How to Migrate from Auth0 Securely and Efficiently</h2>\n        <p class=\"blog-card__excerpt\">Learn how to migrate from Auth0 to SuperTokens by using lazy, automatic, or trickle migration. Includes secure export steps, pricing insights, and implementation tips.</p>\n      </a>\n    \n      <a href=\"/blog/clerk-pricing-the-complete-guide\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 16, 2026</p>\n        <h2 class=\"blog-card__title\">Clerk Pricing (2026): Free Tier, Costs, and Hidden Fees Explained</h2>\n        <p class=\"blog-card__excerpt\">A deep dive into Clerk pricing in 2026 — including the 50K free user tier, organization costs, real-world examples, hidden fees, and comparison with Auth0 and SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/cheapest-auth-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cheapest-auth-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 13, 2026</p>\n        <h2 class=\"blog-card__title\">Cheapest Auth0 Alternatives (2026): Open Source and Low-Cost Picks</h2>\n        <p class=\"blog-card__excerpt\">Looking for the cheapest Auth0 alternatives? See free and low-cost options (OSS + managed), pricing gotchas, and when SuperTokens is the better fit.</p>\n      </a>\n    \n      <a href=\"/blog/better-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/better-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 26, 2026</p>\n        <h2 class=\"blog-card__title\">What Is Better Auth and Who's It For?</h2>\n        <p class=\"blog-card__excerpt\">Explore Better Auth's authentication features, its suitability for various projects, and key considerations for implementation.</p>\n      </a>\n    \n      <a href=\"/blog/clerk-migration\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/clerk-migration.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 12, 2026</p>\n        <h2 class=\"blog-card__title\">How to Migrate from Clerk Efficiently and Safely</h2>\n        <p class=\"blog-card__excerpt\"> Step-by-step guide on migrating from Clerk to SuperTokens—covering trickle, bulk import, export scripts, sessions, and security.</p>\n      </a>\n    \n      <a href=\"/blog/frontegg-vs-auth0-vs-fusionauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/frontegg-vs-auth0-vs-fusionauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 05, 2026</p>\n        <h2 class=\"blog-card__title\">Frontegg vs. Auth0 vs. FusionAuth – Which Authentication Platform Fits Your Needs?</h2>\n        <p class=\"blog-card__excerpt\"> This guide breaks down what matters most when choosing between Frontegg, Auth0 and FusionAuth. We discusstheir strengths and limitations, and help you pick the one that fits your technical stack and business goals.</p>\n      </a>\n    \n      <a href=\"/blog/captcha-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/captcha-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 26, 2025</p>\n        <h2 class=\"blog-card__title\">How Do I Add CAPTCHA to My Login Page?</h2>\n        <p class=\"blog-card__excerpt\"> Learn how to add CAPTCHA to login and signup pages, protect your app from bots, and see how SuperTokens makes it simple.</p>\n      </a>\n    \n      <a href=\"/blog/passkey-examples\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passkey-examples.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2025</p>\n        <h2 class=\"blog-card__title\">Passkey Examples: Real-World Use Cases and Implementation</h2>\n        <p class=\"blog-card__excerpt\">Discover real-world passkey examples across Apple, Google, Coinbase, iPhone, PHP, and more, plus step-by-step implementation guidance.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-on-vercel\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-on-vercel.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2025</p>\n        <h2 class=\"blog-card__title\">Deploying SuperTokens on Vercel with Next.js</h2>\n        <p class=\"blog-card__excerpt\">Step-by-step guide to deploying SuperTokens authentication on Vercel with Next.js. Learn setup, environment config, API routes, and deployment tips.</p>\n      </a>\n    \n      <a href=\"/blog/solidjs-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/solidjs-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 22, 2025</p>\n        <h2 class=\"blog-card__title\">SolidJS Authentication: What Framework Should You Use?</h2>\n        <p class=\"blog-card__excerpt\">Learn how to add secure authentication to SolidJS apps. Compare authentication frameworks and see why SuperTokens is a SolidJS-ready solution.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-vs-fusionauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0-vs-fusionauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2025</p>\n        <h2 class=\"blog-card__title\">Auth0 vs FusionAuth (2025): Pricing, Hosting, Use Cases</h2>\n        <p class=\"blog-card__excerpt\">Auth0 vs FusionAuth in 2025: pricing, hosting (SaaS vs self-host), DX, and best-fit use cases — plus an open-source alternative to consider.</p>\n      </a>\n    \n      <a href=\"/blog/gemini-phishing-attack\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/gemini-phishing-attacks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 15, 2025</p>\n        <h2 class=\"blog-card__title\">Prompt Injection Attacks on LLMs: The Hidden AI Phishing Threat</h2>\n        <p class=\"blog-card__excerpt\">Prompt injection attacks can trick LLMs into phishing users. Learn how invisible HTML is being weaponized—and how to protect your app’s auth flows.</p>\n      </a>\n    \n      <a href=\"/blog/webauthn-explained\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/webauthn-explained.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 14, 2025</p>\n        <h2 class=\"blog-card__title\">WebAuthn Explained</h2>\n        <p class=\"blog-card__excerpt\">A comprehensive guide to understanding WebAuthn, its benefits, and implementation details.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-02-open-source-auth-plugins\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-02-open-source-auth-plugins.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week 02: 7 Open-Source Auth Plugins</h2>\n        <p class=\"blog-card__excerpt\">Open-source auth plugins you’ll reuse: profiling, banning, CAPTCHA, tenancy tools, and telemetry. React/Node ready. </p>\n      </a>\n    \n      <a href=\"/blog/stytch-vs-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-vs-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2025</p>\n        <h2 class=\"blog-card__title\">Stytch vs Auth0 (2025): Pricing, Features, and More</h2>\n        <p class=\"blog-card__excerpt\">Discover how Stytch and Auth0 compare in pricing, features, developer experience, and fraud tools — plus explore an open-source, self-hosted alternative that offers full control and transparency for modern authentication.</p>\n      </a>\n    \n      <a href=\"/blog/workos-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/workos-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 05, 2025</p>\n        <h2 class=\"blog-card__title\">WorkOS Alternatives (2025): SSO, SCIM, and Pricing Compared</h2>\n        <p class=\"blog-card__excerpt\">Discover the best WorkOS alternatives for SSO, SCIM, and audit logs — open-source and managed options, pricing signals, and when SuperTokens fits.</p>\n      </a>\n    \n      <a href=\"/blog/biometric-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/biometric-web-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 22, 2025</p>\n        <h2 class=\"blog-card__title\">Biometric Web Authentication: What It Is and How to Use It</h2>\n        <p class=\"blog-card__excerpt\">Understand biometric authentication on the web: how it works, use cases, security benefits, and how to implement it by using WebAuthn.</p>\n      </a>\n    \n      <a href=\"/blog/add-mfa-to-nextjs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/add-mfa-to-nextjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2025</p>\n        <h2 class=\"blog-card__title\">Add MFA to Next.js in Minutes by Using SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Secure your Next.js app with multi-factor authentication fast. Learn how to add TOTP, email/SMS OTP, or passkeys using SuperTokens’ built-in MFA support.</p>\n      </a>\n    \n      <a href=\"/blog/oidc-vs-saml\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-vs-saml.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2025</p>\n        <h2 class=\"blog-card__title\">OIDC vs SAML: Which Protocol to Use?</h2>\n        <p class=\"blog-card__excerpt\">Compare OIDC and SAML for authentication use cases and see how SuperTokens lets you integrate both. Choose the right protocol for your app.</p>\n      </a>\n    \n      <a href=\"/blog/firebase-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/firebase-pricing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 02, 2025</p>\n        <h2 class=\"blog-card__title\">Firebase Pricing—The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore Firebase’s free vs Blaze tiers, real-world cost examples, hidden charges, and compare with Auth0/Okta for transparent pricing clarity.</p>\n      </a>\n    \n      <a href=\"/blog/oauth-grant-types-explained\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth-grant-types-explained.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 30, 2025</p>\n        <h2 class=\"blog-card__title\">OAuth Grant Types Explained: Which One Should You Use?</h2>\n        <p class=\"blog-card__excerpt\">Confused by OAuth grant types? Learn how each one works, when to use it, and how SuperTokens simplifies implementation.</p>\n      </a>\n    \n      <a href=\"/blog/why-startups-cant-afford-weak-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/why-startups-cant-afford-weak-auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 30, 2025</p>\n        <h2 class=\"blog-card__title\">Why Startups Can't Afford Weak or Over-Engineered Authentication</h2>\n        <p class=\"blog-card__excerpt\">Startups can't afford weak or overly complex authentication. Explore effective strategies to secure your business while keeping user experience seamless and efficient.</p>\n      </a>\n    \n      <a href=\"/blog/authentication-protocols\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication-protocols.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 29, 2025</p>\n        <h2 class=\"blog-card__title\">Understanding Authentication Protocols: Types and Security Measures</h2>\n        <p class=\"blog-card__excerpt\">Explore various authentication protocols, their types, and delve into email authentication methods like SPF, DKIM, and DMARC to enhance security.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-an-identity-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-an-identity-provider-and-why-it-matters.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 15, 2025</p>\n        <h2 class=\"blog-card__title\">What Is an Identity Provider and Why It Matters</h2>\n        <p class=\"blog-card__excerpt\">Learn what an identity provider does, the business problems it solves, and how to implement one powerfully by using SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-b2b-iam\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-b2b-iam.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 10, 2025</p>\n        <h2 class=\"blog-card__title\">What Is B2B IAM?</h2>\n        <p class=\"blog-card__excerpt\">Learn how B2B IAM helps businesses securely manage access for partners, vendors, and external users — plus what to look for in a modern solution. </p>\n      </a>\n    \n      <a href=\"/blog/descope-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/descope-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 08, 2025</p>\n        <h2 class=\"blog-card__title\">Descope Pricing–The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Discover Descope’s pricing tiers, real-world cost examples, hidden fees, and how it stacks vs Auth0/Okta in CIAM pricing.</p>\n      </a>\n    \n      <a href=\"/blog/stytch-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/stytch-pricing-the-complete-guide.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 05, 2025</p>\n        <h2 class=\"blog-card__title\">Stytch Pricing–The Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">Explore Stytch’s tiers, real‑world pricing examples, hidden fees, and comparison with Auth0/Okta for clear cost insights.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-1-recap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-recap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 09, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week: Recap</h2>\n        <p class=\"blog-card__excerpt\">With SuperTokens launch week 1 behind us, let's take a look at everything we've announced.</p>\n      </a>\n    \n      <a href=\"/blog/rethinking-documentation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/rethinking-documentation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 04, 2025</p>\n        <h2 class=\"blog-card__title\">Rethinking our documentation</h2>\n        <p class=\"blog-card__excerpt\">We rebuilt our documentation from the ground up—reorganizing structure, enforcing consistency, and making it easier than ever for developers to navigate and customize authentication with SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/ping-identity\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-ping-identity-and-how-does-it-compare.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 03, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Ping Identity and How Does It Compare?</h2>\n        <p class=\"blog-card__excerpt\">Compare Ping Identity to Okta, ForgeRock, OneLogin, and SuperTokens. Honest feature breakdowns, use cases, and authentication strengths.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-mcp-toolkit\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-mcp-toolkit.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 02, 2025</p>\n        <h2 class=\"blog-card__title\">Bringing Secure Auth to AI: Introducing the SuperTokens MCP Toolkit</h2>\n        <p class=\"blog-card__excerpt\">Seamlessly integrate authentication workflows into your LLM tools with the SuperTokens MCP Toolkit — a new way to bring real-time, secure auth context into AI-driven development.</p>\n      </a>\n    \n      <a href=\"/blog/revamping-onboarding\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/revamping-onboarding.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 01, 2025</p>\n        <h2 class=\"blog-card__title\">Revamping Onboarding at SuperTokens: A New Developer Experience from the Ground Up</h2>\n        <p class=\"blog-card__excerpt\">Impressions matter—especially when it comes to onboarding. So we rebuilt the entire experience to deliver a setup flow that's intuitive, interactive, and tailored to your tech stack.</p>\n      </a>\n    \n      <a href=\"/blog/auth-saas\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what_is_authentication_as_a_service.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">What is Authentication as a Service?</h2>\n        <p class=\"blog-card__excerpt\">Discover how Authentication as a Service simplifies user authentication, enhances security, and scales with your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/rs256-vs-hs256\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/rs256-vs-hs256.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">RS256 vs HS256: Understanding the Difference in JWT Signing</h2>\n        <p class=\"blog-card__excerpt\">Compare the RS256 vs HS256 JWT algorithms, understand key security differences, and find out which suits your application's needs.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-extensions\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-extensions.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 30, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Extensions: Customize Auth Your Way</h2>\n        <p class=\"blog-card__excerpt\">Discover how SuperTokens Extensions bring modular, reusable, and powerful customization to authentication with a new plugin-based system.</p>\n      </a>\n    \n      <a href=\"/blog/launch-week-1\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/launch-week-1-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 27, 2025</p>\n        <h2 class=\"blog-card__title\">SuperTokens Launch Week: Five Days of Auth Improvements</h2>\n        <p class=\"blog-card__excerpt\">How we're making authentication easier to work with, one announcement at a time.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-integrate-clerk-with-supabase\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/integrate-clerk-with-supabase.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 03, 2025</p>\n        <h2 class=\"blog-card__title\">How to Integrate Clerk with Supabase (Plus another option for the curious)</h2>\n        <p class=\"blog-card__excerpt\">🔐 Learn how to integrate Clerk with Supabase for powerful authentication and database management in your Next.js applications - with step-by-step tutorial and code examples.</p>\n      </a>\n    \n      <a href=\"/blog/auth-bypass\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication_bypass.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 23, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Authentication Bypass?</h2>\n        <p class=\"blog-card__excerpt\">Learn what authentication bypass is, how attackers exploit it, and how to secure your apps against auth bypass vulnerabilities.</p>\n      </a>\n    \n      <a href=\"/blog/angular-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/angular-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 18, 2025</p>\n        <h2 class=\"blog-card__title\">Angular Authentication</h2>\n        <p class=\"blog-card__excerpt\">Learn how Angular authentication works, key methods to secure apps, and how to integrate with providers like SuperTokens or OAuth.</p>\n      </a>\n    \n      <a href=\"/blog/auth0-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/auth0_sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 14, 2025</p>\n        <h2 class=\"blog-card__title\">Auth0 SSO: Setup and Tips</h2>\n        <p class=\"blog-card__excerpt\">Learn how Auth0 SSO works, where it falls short, and discover a simpler open-source alternative for modern authentication flows.</p>\n      </a>\n    \n      <a href=\"/blog/phishing-resistant-mfa\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/Implementing-Phishing-Resistant-MFA.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2025</p>\n        <h2 class=\"blog-card__title\">Implementing Phishing-Resistant MFA: Hands-On Developer Guide</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement phishing-resistant MFA with FIDO2, WebAuthn, and SuperTokens. Step-by-step tutorial for secure, developer-friendly authentication.</p>\n      </a>\n    \n      <a href=\"/blog/step-up-auth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-step-up-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 30, 2025</p>\n        <h2 class=\"blog-card__title\">What Is Step-Up Authentication? A Guide for Secure Access</h2>\n        <p class=\"blog-card__excerpt\">An in-depth guide to step-up authentication—when to use it and how to implement it to secure high-risk actions in your app.</p>\n      </a>\n    \n      <a href=\"/blog/top-auth0-alternatives-in-2025\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-auth0-alternatives-in-2025.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 25, 2025</p>\n        <h2 class=\"blog-card__title\">Top Auth0 Alternatives in 2025: The Best CIAM Solutions Compared | SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Explore the top Auth0 alternatives for authentication and authorization. Discover solutions like SuperTokens, Okta, and Keycloak to find the perfect fit for your business needs.</p>\n      </a>\n    \n      <a href=\"/blog/multi-factor-auth-cost\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-factor-auth-cost.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 16, 2025</p>\n        <h2 class=\"blog-card__title\">Breaking Down the Cost of Multi-Factor Authentication: Is It Worth It?</h2>\n        <p class=\"blog-card__excerpt\">Explore the true cost of Multi-Factor Authentication (MFA), including licensing, integration, maintenance, and hidden risks. Learn how SuperTokens helps optimize MFA costs without compromising security.</p>\n      </a>\n    \n      <a href=\"/blog/enhancing-your-nextjs-application-with-middleware\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/enhancing-your-nextjs-application-with-middleware.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 12, 2025</p>\n        <h2 class=\"blog-card__title\">Enhancing Your Next.js Application with Middleware</h2>\n        <p class=\"blog-card__excerpt\">Transform your Next.js app with middleware! Learn essential strategies to enhance functionality and streamline your development process today.</p>\n      </a>\n    \n      <a href=\"/blog/credential-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/credential-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 06, 2025</p>\n        <h2 class=\"blog-card__title\">Credential Management: What It Is and Why It Matters</h2>\n        <p class=\"blog-card__excerpt\">Learn about credential management, its importance, common security risks, and best practices. Discover how SuperTokens simplifies secure credential management.</p>\n      </a>\n    \n      <a href=\"/blog/lambda-authorizers\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/lambda-authorizers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 01, 2025</p>\n        <h2 class=\"blog-card__title\">How to Use Lambda Authorizers to Secure Your API Gateway</h2>\n        <p class=\"blog-card__excerpt\">Learn how to secure your API Gateway using Lambda Authorizers with JWT. Discover setup tips, best practices, and integration steps for robust API security.</p>\n      </a>\n    \n      <a href=\"/blog/mastering-nextjs-api-routes\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/mastering-nextjs-api-routes.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 29, 2025</p>\n        <h2 class=\"blog-card__title\">Mastering Next.js API Routes: The Developer's Guide to Backend Functionality</h2>\n        <p class=\"blog-card__excerpt\">Learn how to create and optimize API Routes in Next.js, handle requests effectively, and integrate authentication with SuperTokens for secure backend operations.</p>\n      </a>\n    \n      <a href=\"/blog/2fa-services\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/2fa-services.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 25, 2025</p>\n        <h2 class=\"blog-card__title\">4 Best 2FA Services for Developers to Secure Applications</h2>\n        <p class=\"blog-card__excerpt\">Discover the best 2FA services for developers to secure applications with minimal friction. Compare top vendors and explore how SuperTokens simplifies 2FA integration.</p>\n      </a>\n    \n      <a href=\"/blog/single-sign-on-examples\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-examples.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 18, 2025</p>\n        <h2 class=\"blog-card__title\">SSO Examples: Real-World Use Cases and How to Implement Them</h2>\n        <p class=\"blog-card__excerpt\">Explore real-world Single Sign-On (SSO) examples, use cases, and step-by-step implementation methods. Learn how tools like SuperTokens simplify SSO for developers.</p>\n      </a>\n    \n      <a href=\"/blog/nextjs-metadata\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/metadata-in-nextjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 27, 2025</p>\n        <h2 class=\"blog-card__title\">Metadata in Next.js: Enhancing SEO and User Experience</h2>\n        <p class=\"blog-card__excerpt\">Learn how to effectively manage metadata in Next.js to boost SEO and improve user engagement through static and dynamic configurations.</p>\n      </a>\n    \n      <a href=\"/blog/pillars-of-a-ciam-strategy-secure-scale-and-personalize-customer-access\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/pillars-of-a-ciam-strategy-secure-scale-&-personalize-customer-access.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 25, 2025</p>\n        <h2 class=\"blog-card__title\">Pillars of a CIAM Strategy: Secure, Scale, and Personalize Customer Access</h2>\n        <p class=\"blog-card__excerpt\">Explore the key elements of a successful CIAM strategy: ensuring security, scalability, and personalized access for your customers. Start optimizing now!</p>\n      </a>\n    \n      <a href=\"/blog/top-8-identity-management-solutions-for-developers-and-businesses\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-8-identity-management-solutions-for-developers-and-businesses.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 04, 2025</p>\n        <h2 class=\"blog-card__title\">Top 8 Identity Management Solutions for Developers and Businesses</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 9 user management software tools for 2024! Streamline your processes and enhance security with our expert reviews and comparisons.</p>\n      </a>\n    \n      <a href=\"/blog/integrating-oauth-providers-for-seamless-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/integrating-oauth-providers-for-seamless-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 03, 2025</p>\n        <h2 class=\"blog-card__title\">Integrating OAuth Providers for Seamless Authentication</h2>\n        <p class=\"blog-card__excerpt\">Discover how to integrate OAuth providers for seamless authentication. Enhance user experience and security with our expert guides and resources.</p>\n      </a>\n    \n      <a href=\"/blog/social-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/social-login.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 16, 2025</p>\n        <h2 class=\"blog-card__title\">Simplify User Experience With Social Login</h2>\n        <p class=\"blog-card__excerpt\">Social login has become a popular choice for modern apps looking to streamline the user authentication process. In this blog, we'll explore what social login is, how it works, its benefits and the challenges of implementing it</p>\n      </a>\n    \n      <a href=\"/blog/how-to-implement-oidc-with-microsoft-entra-id\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/entra-id.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 07, 2025</p>\n        <h2 class=\"blog-card__title\">How to implement OIDC with Microsoft Entra ID</h2>\n        <p class=\"blog-card__excerpt\">Implementing OIDC with Microsoft Entra ID can be confusing. We're gonna help you implement it two different ways — in your own ExpressJS server or in SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/top-10-passwordless-authentication-solutions-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/Top-10-Passwordless-Authentication-Solutions-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 05, 2025</p>\n        <h2 class=\"blog-card__title\">Top 10 Passwordless Authentication Solutions in 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 10 passwordless authentication solutions of 2024. Enhance your security and streamline user access with cutting-edge technologies today!</p>\n      </a>\n    \n      <a href=\"/blog/8-benefits-of-identity-and-access-management-for-security\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/8-benefits-of-identity-and-access-management-for-security.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 02, 2025</p>\n        <h2 class=\"blog-card__title\">8 Benefits of Identity and Access Management (IAM) for Security</h2>\n        <p class=\"blog-card__excerpt\">Discover the 8 key benefits of Identity and Access Management (IAM) for enhancing security. Learn how IAM can protect your organization effectively.</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-pricing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-pricing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 25, 2024</p>\n        <h2 class=\"blog-card__title\">Keycloak Guide 2024: Pricing, Features, & Limitations 🔐</h2>\n        <p class=\"blog-card__excerpt\">Discover Keycloak, a robust open-source IAM solution for enterprise-grade authentication needs like SSO, 2FA, and fine-grained access control. Compare it with SuperTokens, a lightweight, developer-friendly alternative for modern authentication requirements.</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication-in-api\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication-in-api.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 20, 2024</p>\n        <h2 class=\"blog-card__title\">Token-Based Authentication for APIs: What It Is and How It Works</h2>\n        <p class=\"blog-card__excerpt\">Discover how token-based authentication secures APIs with this simple guide. Understand its process, benefits, drawbacks and more.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-best-practices\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management-best-practices.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 17, 2024</p>\n        <h2 class=\"blog-card__title\">10 Best Practices for Effective Identity and Access Management</h2>\n        <p class=\"blog-card__excerpt\">Learn the top 10 Identity and Access Management (IAM) best practices to safeguard your organization from credential-based attacks. Explore common pitfalls like siloed systems, privilege creep, and manual provisioning, and discover how modern IAM solutions like SuperTokens help streamline security, ensure compliance, and boost productivity. Stay ahead with effective IAM strategies and protect sensitive data from evolving cyber threats.</p>\n      </a>\n    \n      <a href=\"/blog/top-7-sso-benefits-for-enhanced-security-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/top-7-sso-benefits-for-enhanced-security-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 17, 2024</p>\n        <h2 class=\"blog-card__title\">Top 7 SSO Benefits for Enhanced Security [2024]</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 7 SSO benefits for 2024 to enhance your security. Learn how to protect your data and streamline user access effectively.</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication-vs-session-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication-vs-session-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 12, 2024</p>\n        <h2 class=\"blog-card__title\">Token Based Authentication vs Session Based Authentication</h2>\n        <p class=\"blog-card__excerpt\">Sessions vs. Tokens: Understanding the Differences in Authentication</p>\n      </a>\n    \n      <a href=\"/blog/iam-challenges\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/iam-challenges.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 11, 2024</p>\n        <h2 class=\"blog-card__title\">Top Identity and Access Management Challenges</h2>\n        <p class=\"blog-card__excerpt\">Discover how to tackle modern IAM challenges, from integration complexities to compliance, with actionable solutions and emerging trends like zero-trust and passwordless authentication. Learn how open-source tools like SuperTokens can future-proof your system in 2024.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-implement-identity-and-access-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-implement-identity-and-access-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2024</p>\n        <h2 class=\"blog-card__title\">How to Implement Identity and Access Management? [6 Steps]</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement Identity and Access Management in just 6 steps. Enhance security and manage user access efficiently with our expert guide!</p>\n      </a>\n    \n      <a href=\"/blog/unified-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/unified-login.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 09, 2024</p>\n        <h2 class=\"blog-card__title\">Unified Login: Because Who Doesn't Love a Good OAuth2 Adventure?</h2>\n        <p class=\"blog-card__excerpt\">Ah, authentication. The bane of every developer's existence. Or is it? 🤔 Today, we're diving into the wonderful world of a new feature called Unified Login. Buckle up, folks—it's gonna be a wild ride!</p>\n      </a>\n    \n      <a href=\"/blog/sso-implementation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-implementation.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 02, 2024</p>\n        <h2 class=\"blog-card__title\">A Comprehensive Guide to SSO Implementation 2024</h2>\n        <p class=\"blog-card__excerpt\">This blog explores the benefits and functionalities of Single Sign-On (SSO), highlighting how it simplifies user authentication, enhances security, and integrates with modern identity management systems. It also covers how open standards like OAuth 2.0 and OIDC enable seamless access to applications, including the use of social logins from services like Google, Facebook, and Twitter.</p>\n      </a>\n    \n      <a href=\"/blog/7-authentik-alternatives-for-enhanced-identity-management-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/7-authentik-alternatives-for-enhanced-identity-management-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 28, 2024</p>\n        <h2 class=\"blog-card__title\">7 Authentik Alternatives for Enhanced Identity Management in 2024</h2>\n        <p class=\"blog-card__excerpt\">Explore 7 effective Authentik alternatives for improved identity management in 2024. Elevate your security measures and optimize user experience today.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management-frameworks\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management-frameworks.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 26, 2024</p>\n        <h2 class=\"blog-card__title\">Introduction to IAM Frameworks: Simplifying Access Management for Developers</h2>\n        <p class=\"blog-card__excerpt\">Learn everything about Identity and Access Management (IAM) frameworks in this comprehensive guide.</p>\n      </a>\n    \n      <a href=\"/blog/django-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/django-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2024</p>\n        <h2 class=\"blog-card__title\">A comprehensive guide to Django's user authentication system</h2>\n        <p class=\"blog-card__excerpt\">Learn how to implement user registration, login/logout, permissions etc using Django's built-in user authentication system.</p>\n      </a>\n    \n      <a href=\"/blog/session-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/session-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 18, 2024</p>\n        <h2 class=\"blog-card__title\">Session-Based Authentication: A Detailed Guide [2024]</h2>\n        <p class=\"blog-card__excerpt\">Session-based authentication is a cornerstone of web security, providing a simple and controlled method to manage user sessions. This guide delves into its workings, advantages, and implementation, while addressing challenges like security vulnerabilities and scalability concerns.</p>\n      </a>\n    \n      <a href=\"/blog/9-sso-best-practices-to-strengthen-security-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/9-sso-best-practices-to-strengthen-security-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 15, 2024</p>\n        <h2 class=\"blog-card__title\">9 SSO Best Practices to Strengthen Security in 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the top 9 SSO best practices for 2024 to enhance your security. Learn how to protect your data and streamline user access effectively.</p>\n      </a>\n    \n      <a href=\"/blog/identity-and-access-management\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/identity-and-access-management.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 08, 2024</p>\n        <h2 class=\"blog-card__title\">How Identity and Access Management Works: Detailed Guide</h2>\n        <p class=\"blog-card__excerpt\">Discover the fundamentals, benefits, and best practices of Identity and Access Management (IAM) and how SuperTokens simplifies secure authentication and session management.</p>\n      </a>\n    \n      <a href=\"/blog/7-common-iam-risks-and-how-to-avoid-them\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/7-common-iam-risks-and-how-to-avoid-them.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 04, 2024</p>\n        <h2 class=\"blog-card__title\">7 Common IAM Risks and How to Avoid Them</h2>\n        <p class=\"blog-card__excerpt\"> Reveal the 7 critical IAM risks that pose a threat to your business. Discover actionable advice to reduce these risks and strengthen your security measures.</p>\n      </a>\n    \n      <a href=\"/blog/flask-user-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/flask-user-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 04, 2024</p>\n        <h2 class=\"blog-card__title\">Adding Authentication to Your Flask Backend with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to seamlessly add authentication to your Flask backend using SuperTokens. This guide covers setting up authentication with the SuperTokens CLI or manual configuration, enabling you to focus on building application logic instead of authentication infrastructure.</p>\n      </a>\n    \n      <a href=\"/blog/user-authentication-in-node\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/user-authentication-in-node.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 02, 2024</p>\n        <h2 class=\"blog-card__title\">How to Authenticate and Authorize Users in a Node.js Express App</h2>\n        <p class=\"blog-card__excerpt\">A step by step guide on how to Authenticate and Authorize Users in a Node.js Express App</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-vs-okta\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-vs-okta.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 10, 2024</p>\n        <h2 class=\"blog-card__title\">Keycloak Vs. Okta: Features, Pricing, And Developer Experience</h2>\n        <p class=\"blog-card__excerpt\">Choosing the right IAM solution is crucial for security and efficiency. This blog provides a clear comparison between Keycloak and Okta, examining features, customization, pricing, and developer experience. Learn which platform best suits your organization’s needs.</p>\n      </a>\n    \n      <a href=\"/blog/hacktoberfest-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/hacktoberfest-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 07, 2024</p>\n        <h2 class=\"blog-card__title\">Hacktoberfest with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Celebrate Hacktoberfest with SuperTokens, learn how you can contribute to open source auth and get some goodies too!</p>\n      </a>\n    \n      <a href=\"/blog/how-to-use-supertokens-custom-ui-with-vuejs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vue-custom-ui.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 07, 2024</p>\n        <h2 class=\"blog-card__title\">How to use SuperTokens in a VueJS app with your own UI</h2>\n        <p class=\"blog-card__excerpt\">Learn how to integrate supertokens-web-js SDK into your VueJS application.</p>\n      </a>\n    \n      <a href=\"/blog/enterprise-sso\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/enterprise-sso.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 28, 2024</p>\n        <h2 class=\"blog-card__title\">Best Practices for Enterprise SSO</h2>\n        <p class=\"blog-card__excerpt\">This guide will dive into what enterprise SSO is and why it’s necessary for modern organizations. It will also provide actionable tips for implementing it effectively</p>\n      </a>\n    \n      <a href=\"/blog/how-to-secure-a-nestjs-app\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-secure-a-nestjs-app.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 25, 2024</p>\n        <h2 class=\"blog-card__title\">How to secure a NestJs Application</h2>\n        <p class=\"blog-card__excerpt\">In this post, we will be using NestJS, a Node.js framework that excels at making backend development efficient and scalable. Inspired by mature frameworks like Spring and ASP.NET, NestJS brings the best practices from these proven systems into the JavaScript/TypeScript world.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-fido\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-fido.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 20, 2024</p>\n        <h2 class=\"blog-card__title\">What is FIDO</h2>\n        <p class=\"blog-card__excerpt\">In this post, we’ll take you on a journey through the world of passkeys, breaking down their technical foundations and exploring how they work. We'll also look at the role of the FIDO2 and WebAuthn standards in shaping a future where passwords are no longer needed.</p>\n      </a>\n    \n      <a href=\"/blog/anomaly-detection-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/anomaly-detection-with-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 15, 2024</p>\n        <h2 class=\"blog-card__title\">Anomaly Detection with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn about different attack vectors and how to safeguard your web app against them with SuperTokens attack prevention suite</p>\n      </a>\n    \n      <a href=\"/blog/authelia-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authelia-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 10, 2024</p>\n        <h2 class=\"blog-card__title\">7 Top Authelia Alternatives for Enhanced Authentication in 2025?</h2>\n        <p class=\"blog-card__excerpt\">In this blog, we're going to look at the top 7 alternatives to Authelia. We’ll go over the main features, pricing, pros and cons of each option to help you decide what’s best for your authentication strategy.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-use-supertokens-pre-built-ui-with-vuejs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vue-st.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 01, 2024</p>\n        <h2 class=\"blog-card__title\">How to use SuperTokens' pre built UI with VueJS</h2>\n        <p class=\"blog-card__excerpt\">A step by step guide on how to integrate SuperTokens' pre built UI in a VueJS app</p>\n      </a>\n    \n      <a href=\"/blog/adding-login-to-your-nextjs-app-using-the-app-directory-and-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/adding-login-to-your-nextjs-app-using-the-app-directory-and-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 19, 2024</p>\n        <h2 class=\"blog-card__title\">Securing your Next.js with Authentication</h2>\n        <p class=\"blog-card__excerpt\">This blog explains how to setup email password and social login with SuperTokens in Next.js.</p>\n      </a>\n    \n      <a href=\"/blog/revoking-access-with-a-jwt-blacklist\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/revoking-access-with-a-jwt-blacklist.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 15, 2024</p>\n        <h2 class=\"blog-card__title\">7 Ways To Revoke JWT Tokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how to maintain a JWT token blacklist / deny list using an in-memory data cache</p>\n      </a>\n    \n      <a href=\"/blog/benefits-of-multi-factor-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/benefits-of-multi-factor-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 05, 2024</p>\n        <h2 class=\"blog-card__title\">10 Benefits of Multi-Factor Authentication (MFA)</h2>\n        <p class=\"blog-card__excerpt\">Traditional login mechanisms are plagued by security vulnerabilities and are susceptible to attacks. Multi-factor authentication bolsters security and mitigates a number of these vulnerabilities and has now become an industry standard.</p>\n      </a>\n    \n      <a href=\"/blog/self-hosted-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/self_hosted_auth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 17, 2024</p>\n        <h2 class=\"blog-card__title\">Self-hosted Authentication</h2>\n        <p class=\"blog-card__excerpt\">By self-hosting auth users gain finer control over their data.To shed some light on the matter, let’s compare several authentication providers which offer self-hosting functionality</p>\n      </a>\n    \n      <a href=\"/blog/building-a-login-screen-with-react-and-bootstrap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/building-a-login-screen-with-react-and-bootstrap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 15, 2024</p>\n        <h2 class=\"blog-card__title\">Building a login screen with React and Bootstrap</h2>\n        <p class=\"blog-card__excerpt\">Build an elegant login screen super fast using React and Bootstrap</p>\n      </a>\n    \n      <a href=\"/blog/implementing-a-forgot-password-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/implementing-a-forgot-password-flow.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 13, 2024</p>\n        <h2 class=\"blog-card__title\">How to Implement a Forgot Password Flow? Complete Guide</h2>\n        <p class=\"blog-card__excerpt\">What should happen on the backend when a user forgets their password? Read to find a pseudo code implementation of the simplest way to reset passwords securely.</p>\n      </a>\n    \n      <a href=\"/blog/django-bootstrap-login-template\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/django_bootstrap_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 10, 2024</p>\n        <h2 class=\"blog-card__title\">Setting up an authentication form with bootstrap in a Django application</h2>\n        <p class=\"blog-card__excerpt\">This tutorial wil guide you on how you can setup a bootstrap login template in Django</p>\n      </a>\n    \n      <a href=\"/blog/saml-vs-oauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/saml-vs-oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 10, 2024</p>\n        <h2 class=\"blog-card__title\">OAuth2.0 vs SAML: The Best Security Protocol For Your App</h2>\n        <p class=\"blog-card__excerpt\">SAML and OAuth are protocols often used in the authentication but what are the differences between them and which one do you choose?</p>\n      </a>\n    \n      <a href=\"/blog/what-is-cross-origin-resource-sharing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/cors-cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 06, 2024</p>\n        <h2 class=\"blog-card__title\">What is Cross Origin Resource Sharing (CORS)?</h2>\n        <p class=\"blog-card__excerpt\">Cross-Origin Resource Sharing (CORS) is a mechanism that supports secure requests and data transfers from outside origins (domain, scheme, or port).</p>\n      </a>\n    \n      <a href=\"/blog/totp-why-you-need-it-and-how-it-works\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/totp-why-you-need-it-and-how-it-works.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 05, 2024</p>\n        <h2 class=\"blog-card__title\">What is TOTP and why do you need it?</h2>\n        <p class=\"blog-card__excerpt\">Time based one-time passwords solve a number of issues that plague traditional authentication methods. In this blog we break down TOTP and why it's so useful.</p>\n      </a>\n    \n      <a href=\"/blog/frontegg-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/frontegg-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 27, 2024</p>\n        <h2 class=\"blog-card__title\">Frontegg Alternatives For Greater UAM Flexibility & Control</h2>\n        <p class=\"blog-card__excerpt\">Explore five top Frontegg alternatives for user access management, comparing features, pricing, and setup complexity to find the best fit for your needs. Discover the ideal UAM solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/password-hashing-salting\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/password_hashing_and_salting.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 25, 2024</p>\n        <h2 class=\"blog-card__title\">What is Password Hashing and Why is it Important? (2026 Guide)</h2>\n        <p class=\"blog-card__excerpt\">A practical guide to password hashing and salting: how they work, which algorithms to use (bcrypt, Argon2, PBKDF2), and why they matter for security.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-ldap\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-ldap.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 22, 2024</p>\n        <h2 class=\"blog-card__title\">What is LDAP & How does it work?</h2>\n        <p class=\"blog-card__excerpt\">In workforce identity and B2B flows, LDAP is main protocol used to interact with directory services that store user identity and device information. In this blog post we take a look at LDAP and how it works.</p>\n      </a>\n    \n      <a href=\"/blog/keycloak-alternatives\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/keycloak-alternatives.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 20, 2024</p>\n        <h2 class=\"blog-card__title\">Comparing Keycloak Alternatives For Simpler User Authentication</h2>\n        <p class=\"blog-card__excerpt\">We explore the differences between SuperTokens and Auth0 including their key features, pros and cons, and practical workflows. Whether you need full control with SuperTokens' self-hosted, open-source approach or the convenience of Auth0's managed service, this guide will help you choose the right authentication solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-auth0\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-auth0.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 16, 2024</p>\n        <h2 class=\"blog-card__title\">Supertokens Vs AuthO: Self-Hosted Vs. Managed Solutions</h2>\n        <p class=\"blog-card__excerpt\">Explore the core differences between SuperTokens and Auth0 including their key features, pros and cons, and practical workflows. Whether you need full control with SuperTokens' self-hosted, open-source approach or the convenience of Auth0's managed service, this guide will help you choose the right authentication solution for your project.</p>\n      </a>\n    \n      <a href=\"/blog/supertokens-vs-clerk\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-vs-clerk.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 01, 2024</p>\n        <h2 class=\"blog-card__title\">Clerk Vs SuperTokens: Custom Vs Ready-To-Use Access Protocol</h2>\n        <p class=\"blog-card__excerpt\">Explore the differences between SuperTokens and Clerk to determine the best user access management solution for your project. Understand their core functionalities, key differences, and pricing to make an informed decision.</p>\n      </a>\n    \n      <a href=\"/blog/oidc-token\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oidc-token.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 26, 2024</p>\n        <h2 class=\"blog-card__title\">How To Use OIDC Tokens For More Efficient & Secure Login</h2>\n        <p class=\"blog-card__excerpt\">Discover how to leverage OpenID Connect (OIDC) tokens to enhance your application's security without compromising user experience.Learn how to balance robust security measures with seamless user interactions, and get practical tips for integrating OIDC tokens into your authentication flow.</p>\n      </a>\n    \n      <a href=\"/blog/how-does-oauth-work\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-does-oauth-work.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 24, 2024</p>\n        <h2 class=\"blog-card__title\">How the Heck Does OAuth Work?</h2>\n        <p class=\"blog-card__excerpt\">In this blog we do a detailed technical overview of OAuth, explaining its evolution, various flows, and practical applications. It includes diagrams and real-world examples to enhance understanding.</p>\n      </a>\n    \n      <a href=\"/blog/oauth\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/oauth.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 14, 2024</p>\n        <h2 class=\"blog-card__title\">What is OAuth and It's Importance in a Secure Web</h2>\n        <p class=\"blog-card__excerpt\">Through this blog we hope to show you what OAuth is, explain how it works, and give you a sense of how OAuth can help your application.</p>\n      </a>\n    \n      <a href=\"/blog/two-factor-authentication-providers\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/two-factor-authentication-providers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 09, 2024</p>\n        <h2 class=\"blog-card__title\">2FA Authentication Providers</h2>\n        <p class=\"blog-card__excerpt\">Passwords are not enough. Modern methods of attack have made passwords vulnerable to be stolen, this is where methods of enhancing security like 2FA and MFA come in</p>\n      </a>\n    \n      <a href=\"/blog/token-based-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/token-based-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 06, 2024</p>\n        <h2 class=\"blog-card__title\">Balance Security & UX With Token Based Authentication</h2>\n        <p class=\"blog-card__excerpt\">By minimizing the risk of credential theft, token based authentication grants users access to resources without the need to re-authenticate. In this blog we explore the balance between security and UX with Token Based Authentication</p>\n      </a>\n    \n      <a href=\"/blog/sso-provider\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-providers.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 05, 2024</p>\n        <h2 class=\"blog-card__title\">Best Single Sign-On Solutions for 2024</h2>\n        <p class=\"blog-card__excerpt\">Discover the benefits and key features of Single Sign-On (SSO). Learn how SSO simplifies user experiences, enhances security, and meets enterprise needs. Explore popular SSO protocols like OAuth, SAML, and OpenID Connect, and compare top SSO providers</p>\n      </a>\n    \n      <a href=\"/blog/sso-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 04, 2024</p>\n        <h2 class=\"blog-card__title\">When & How To Build SSO Authentication For User Access</h2>\n        <p class=\"blog-card__excerpt\">Learn how Single Sign-On (SSO) authentication simplifies user access to multiple applications with a single login, enhancing both security and user experience. Explore the benefits, protocols, and key differences between SSO and 2FA to optimize your authentication strategy.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-tls\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-tls.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">May 01, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding Transport layer Security</h2>\n        <p class=\"blog-card__excerpt\">In this article we explore TLS, it's vulnerabilities, and how to secure web communications against cyber threats</p>\n      </a>\n    \n      <a href=\"/blog/what-is-cross-site-request-forgery\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-cross-site-request-forgery.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 27, 2024</p>\n        <h2 class=\"blog-card__title\">What is CSRF (Cross Site Request Forgery)</h2>\n        <p class=\"blog-card__excerpt\">In this article we deep dive into the world of CSRF attacks, what they are and how to protect your application against them</p>\n      </a>\n    \n      <a href=\"/blog/mfa-best-practices\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/mfa-best-practices.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 18, 2024</p>\n        <h2 class=\"blog-card__title\">2FA & MFA: Enhancing Security Without Compromising User Experience</h2>\n        <p class=\"blog-card__excerpt\">Traditional authentication methods like email-password auth are the most at risk of being compromised during cyber attacks. However, overly complex authentication methods can frustrate users and hinder product adoption. In this blog we breakdown the pros and cons of adopting 2fa and mfa auth strategies</p>\n      </a>\n    \n      <a href=\"/blog/types-of-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/types-of-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 12, 2024</p>\n        <h2 class=\"blog-card__title\">Types Of Authentication: Your Network Security Options</h2>\n        <p class=\"blog-card__excerpt\">Although Password-based authentication is one of the most common authentication methods, they are the most at risk of being compromised during cyber attacks. In this blog we break down the types of authentication and how to choose the right type of authentication</p>\n      </a>\n    \n      <a href=\"/blog/passkey-authentication\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passkey-authentication.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 10, 2024</p>\n        <h2 class=\"blog-card__title\">Passkey Authentication: What Is It & How to Implement It</h2>\n        <p class=\"blog-card__excerpt\">Discover the power of passkey authentication: a secure, user-friendly alternative to traditional passwords. Learn how passkeys work, their benefits over passwordless methods, and best practices for implementation to enhance your application's security and user experience.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-502-bad-gateway-error\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-502-bad-gateway-error.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 05, 2024</p>\n        <h2 class=\"blog-card__title\">Everything You Need to Know About 502 Bad Gateway Errors (2026)</h2>\n        <p class=\"blog-card__excerpt\">Discover the ins and outs of 502 Bad Gateway Errors. From understanding the causes to troubleshooting steps and preventive measures, navigate through server communication breakdowns seamlessly.</p>\n      </a>\n    \n      <a href=\"/blog/openid-connect-vs-oauth2\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/openid-connect-vs-oauth2.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 03, 2024</p>\n        <h2 class=\"blog-card__title\">OpenID Connect vs OAuth2: The Differences and How to Choose</h2>\n        <p class=\"blog-card__excerpt\">Authentication and Authorization are the cornerstone of most modern software, but, these concepts are often misunderstood. In this blog we  try to demystify those concepts and the accepted standards embodying them, that is OpenID Connect and OAuth 2</p>\n      </a>\n    \n      <a href=\"/blog/fedcm-how-are-oauth-flows-affected-in-the-post-third-party-cookie-era\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/fedcm.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 20, 2024</p>\n        <h2 class=\"blog-card__title\">FedCM and how OAuth Flows are affected in the Post-Third-Party Cookie Era</h2>\n        <p class=\"blog-card__excerpt\">Third Party Cookies have been synonymous with user tracking and privacy issues. In 2021 Google put forth a plan to retire third party cookies from chromium based browsers and put for the FedCM APIs. In this blog we will be discussing this change and what it means for traditional OAuth flows.</p>\n      </a>\n    \n      <a href=\"/blog/phishing-attacks-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/phishing-attacks-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 13, 2024</p>\n        <h2 class=\"blog-card__title\">Phishing Attacks in 2024</h2>\n        <p class=\"blog-card__excerpt\">Over the years phishing attacks have become more sophisticated than ever. In this blog we break down how phishing attacks have evolved and how you can safeguard against them</p>\n      </a>\n    \n      <a href=\"/blog/otp-vs-totp-vs-hotp\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/otp-vs-totp-vs-hotp.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 07, 2024</p>\n        <h2 class=\"blog-card__title\">The difference between OTP, TOTP and HOTP</h2>\n        <p class=\"blog-card__excerpt\">One time passwords are a more secure method of authentication. They remedy a number of issues which plague traditional username-password based authentication. But with methods like TOTP and HOTP it can be confusing. In this blog we break down these methods with their benefits and downsides</p>\n      </a>\n    \n      <a href=\"/blog/authorization-code-flow-with-pkce\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authorization-code-flow-with-pkce.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 23, 2024</p>\n        <h2 class=\"blog-card__title\">Understanding Authorization code flow with PKCE</h2>\n        <p class=\"blog-card__excerpt\">Federated identity with OAuth is one of the most popular methods of implementing authentication. It lowers sign-up friction and is more secure than other auth methods like email-password based authentication.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-zero-trust\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-zero-trust.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 20, 2024</p>\n        <h2 class=\"blog-card__title\">All You Need To Know About the Zero Trust Model</h2>\n        <p class=\"blog-card__excerpt\">Zero Trust is an IT security model that emphasizes identity verification for every person or device trying to access resources on a private network. In this blog we go over it's core principles and practical benefits.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-scim-provisioning\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-scim-provisioning.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 16, 2024</p>\n        <h2 class=\"blog-card__title\">What is SCIM Provisioning?</h2>\n        <p class=\"blog-card__excerpt\">Managing identities can be a pain, in the past administrators would have to manually add identifying information needed by applications about users. This process takes longer and has a high margin of error. SCIM streamlines the management of user groups and devices. In this blog we will explore how it works.</p>\n      </a>\n    \n      <a href=\"/blog/what-is-credential-stuffing\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/what-is-credential-stuffing.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 13, 2024</p>\n        <h2 class=\"blog-card__title\">What is Credential Stuffing?</h2>\n        <p class=\"blog-card__excerpt\">Most people are familiar with brute force attacks, where attackers attempt to guess passwords using characters at random paired with common password suggestions, but what is Credential Stuffing? In this we will go over this type of attack and how you can safeguard against it.</p>\n      </a>\n    \n      <a href=\"/blog/understanding-captcha\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/understanding-captcha.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 30, 2024</p>\n        <h2 class=\"blog-card__title\">Navigating the Complex World of CAPTCHA Technology in Authentication</h2>\n        <p class=\"blog-card__excerpt\">What is Captcha? Why is it needed? In this blog we will answer these questions and more</p>\n      </a>\n    \n      <a href=\"/blog/localstorage-vs-session-storage\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/localstorage-vs-session-storage.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 17, 2024</p>\n        <h2 class=\"blog-card__title\">Unveiling the Intricacies of Local Storage and Session Storage</h2>\n        <p class=\"blog-card__excerpt\">In this blog we delve into the workings of Local and Session storage breaking down the nuances that set them apart</p>\n      </a>\n    \n      <a href=\"/blog/access-control-for-modern-web-applications\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/access-control-for-modern-web-applications.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 11, 2023</p>\n        <h2 class=\"blog-card__title\">Access Control for modern web applications</h2>\n        <p class=\"blog-card__excerpt\">Access control plays a key role in protecting our data as we progressively move into an online society. In this blog we will explore the different types of access control and how they safeguard against attackers.</p>\n      </a>\n    \n      <a href=\"/blog/multi-tenancy-in-2024\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/multi-tenancy-in-2024.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 01, 2023</p>\n        <h2 class=\"blog-card__title\">Multi-Tenant Authentication in 2024</h2>\n        <p class=\"blog-card__excerpt\">Multi-tenant systems allow a single instance of a software application to serve multiple different tenants. This allows for a number of benefits that will be explored in this blog</p>\n      </a>\n    \n      <a href=\"/blog/how-we-cut-our-aws-costs-part-2\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-we-cut-our-aws-costs-part-2.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 01, 2023</p>\n        <h2 class=\"blog-card__title\">How we used multi-tenancy to cut our AWS costs by 50%</h2>\n        <p class=\"blog-card__excerpt\">Part 2 in a series of howe we were able to cut down our AWS infrastructure costs by more than 50%</p>\n      </a>\n    \n      <a href=\"/blog/how-to-create-an-invite-only-auth-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-create-an-invite-only-auth-flow.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 28, 2023</p>\n        <h2 class=\"blog-card__title\">How to create an invite-only auth flow in 2023</h2>\n        <p class=\"blog-card__excerpt\">Invite only flows can drive exclusivity and enhance user engagement. In this blog we will go over how you can customize SuperTokens authentication to create an invite only flow</p>\n      </a>\n    \n      <a href=\"/blog/how-we-cut-our-aws-costs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-we-cut-our-aws-costs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 19, 2023</p>\n        <h2 class=\"blog-card__title\">How we cut our AWS costs by more than 50%</h2>\n        <p class=\"blog-card__excerpt\">Part 1 in a series of  how we were able to cut down our AWS infrastructure costs by more than 50%</p>\n      </a>\n    \n      <a href=\"/blog/http-error-codes-401-vs-403\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/http-error-codes-401-vs-403.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">September 01, 2023</p>\n        <h2 class=\"blog-card__title\">Demystifying HTTP Error Codes: 401 vs 403 (2026)</h2>\n        <p class=\"blog-card__excerpt\">Learn the difference between HTTP 401 Unauthorized and 403 Forbidden errors, when each applies, and how to handle them correctly in your app.</p>\n      </a>\n    \n      <a href=\"/blog/url-vs-uri\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/uri-vs-url.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 16, 2023</p>\n        <h2 class=\"blog-card__title\">URI vs URL: The real difference between the two</h2>\n        <p class=\"blog-card__excerpt\">In this blog we break down the differences between URL, URI, and URN</p>\n      </a>\n    \n      <a href=\"/blog/authentication-vs-authorization\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/authentication-vs-authorization.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">August 02, 2023</p>\n        <h2 class=\"blog-card__title\">Authentication vs Authorization: What's the difference?</h2>\n        <p class=\"blog-card__excerpt\">Authentication and Authorization represent two fundamentally different aspects of security that work together in order to protect sensitive information. In this blog, we will go over some of the key differences between the two.</p>\n      </a>\n    \n      <a href=\"/blog/migrating-users-without-downtime-in-your-service\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/migrating-users-without-downtime-in-your-service.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">July 12, 2023</p>\n        <h2 class=\"blog-card__title\">Migrating users without downtime in your service (The Lazy Migration Strategy)</h2>\n        <p class=\"blog-card__excerpt\">User Migration can be a challenging process, in this article we go over some user migration scenarios and break down the lazy migration strategy</p>\n      </a>\n    \n      <a href=\"/blog/building-a-chatbot-that-is-an-expert-at-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-ai-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 23, 2023</p>\n        <h2 class=\"blog-card__title\">How we built a Chatbot that is an Expert at SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Learn how we built a Q&A bot that is an expert at SuperTokens powered by ChatGPT</p>\n      </a>\n    \n      <a href=\"/blog/ory-vs-keycloak-vs-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/ory-vs-keycloak-vs-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">June 08, 2023</p>\n        <h2 class=\"blog-card__title\">Ory vs Keycloak vs SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">Comparing the three leading open-source authentication providers - Ory, Keycloak and SuperTokens</p>\n      </a>\n    \n      <a href=\"/blog/testing-sso-implementation\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/sso_implementation_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 17, 2023</p>\n        <h2 class=\"blog-card__title\">Testing SSO Implementation</h2>\n        <p class=\"blog-card__excerpt\">A guide into single sign-on implementation and how to perform sso testing for authentication and login</p>\n      </a>\n    \n      <a href=\"/blog/learnings-from-revamping-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/website-revamp-banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">March 16, 2023</p>\n        <h2 class=\"blog-card__title\">Learnings from Revamping SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">A #buildinpublic piece on why we designed the SuperTokens homepage</p>\n      </a>\n    \n      <a href=\"/blog/implementing-the-right-email-verification-flow\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/email_verification_blog_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 24, 2023</p>\n        <h2 class=\"blog-card__title\">Implementing the right Email Verification flow</h2>\n        <p class=\"blog-card__excerpt\">Email verification can increase friction and adds another stop to onboarding, but when done correctly can lead to better security and establish better communication with users.</p>\n      </a>\n    \n      <a href=\"/blog/a-guide-to-implementing-passwordless-login\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/passwordless_banner.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 23, 2023</p>\n        <h2 class=\"blog-card__title\">A Guide to Implementing Passwordless Login</h2>\n        <p class=\"blog-card__excerpt\">Passwordless is one of the most popular authentication methods</p>\n      </a>\n    \n      <a href=\"/blog/introducing-user-roles-authorization-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/user_roles_cover.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">October 27, 2022</p>\n        <h2 class=\"blog-card__title\">Introducing User Roles Authorization with SuperTokens</h2>\n        <p class=\"blog-card__excerpt\">With user roles, you can now use SuperTokens to easily attach a different set of permissions to each user.</p>\n      </a>\n    \n      <a href=\"/blog/connect-supertokens-to-database\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/supertokens-db.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 24, 2022</p>\n        <h2 class=\"blog-card__title\">How to connect SuperTokens to a MySQL or to a PostgreSQL database</h2>\n        <p class=\"blog-card__excerpt\">Learn how to connect a self-hosted SuperTokens core to a database with or without Docker</p>\n      </a>\n    \n      <a href=\"/blog/how-to-deploy-supertokens-with-react-nodejs-express-on-vercel\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/vercel.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">April 14, 2022</p>\n        <h2 class=\"blog-card__title\">How to deploy SuperTokens with React and NodeJS on Vercel</h2>\n        <p class=\"blog-card__excerpt\">This tutorial wil guide you on how to add SuperTokens to a React and Express app deployed on Vercel</p>\n      </a>\n    \n      <a href=\"/blog/how-to-set-up-social-and-email-password-login-with-reactjs\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-set-up-social-and-email-password-login-with-reactjs.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">February 09, 2022</p>\n        <h2 class=\"blog-card__title\">How to Set up Social and Email Password Login With ReactJS in 10 Minute</h2>\n        <p class=\"blog-card__excerpt\"> In this blog, we'll walk you through setting up an email-password authentication with popular social providers like Google, GitHub, and Apple using SuperTokens on a ReactJS application with ExpressJS as the backend.</p>\n      </a>\n    \n      <a href=\"/blog/adding-social-login-to-your-website-with-supertokens\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/adding-social-login-to-your-website-with-supertokens.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">January 26, 2022</p>\n        <h2 class=\"blog-card__title\">Adding social login to your website with SuperTokens (custom UI only)</h2>\n        <p class=\"blog-card__excerpt\">This blog walks you through integrating your frontend with social login APIs provided by SuperTokens.</p>\n      </a>\n    \n      <a href=\"/blog/how-to-customise-supertokens-apis\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/how-to-customise-supertokens-apis.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 13, 2021</p>\n        <h2 class=\"blog-card__title\">How to customise SuperTokens APIs</h2>\n        <p class=\"blog-card__excerpt\">Any auth solution must provide the ability to customise their APIs. In this blog we discuss how to customise the auth APIs provided by SuperTokens using its “Override” feature</p>\n      </a>\n    \n      <a href=\"/blog/why-is-redux-state-immutable\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/why-is-redux-state-immutable.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 11, 2021</p>\n        <h2 class=\"blog-card__title\">Why is redux state immutable?</h2>\n        <p class=\"blog-card__excerpt\">This blog covers an analysis of why redux state is immutable and how you should go about modifying state in your Redux applications</p>\n      </a>\n    \n      <a href=\"/blog/solve-the-problem-of-vendor-lock-in\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/solve-the-problem-of-vendor-lock-in.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">November 10, 2021</p>\n        <h2 class=\"blog-card__title\">Solve the problem of vendor lock-in</h2>\n        <p class=\"blog-card__excerpt\">What is vendor lock-in? How does it affect your customers? What are the different ways you can minimize it? Read the blog to learn more.</p>\n      </a>\n    \n      <a href=\"/blog/speed-up-your-web-development-time-by-integrating-webflow-into-a-react-application\"  class=\"blog-card\">\n        <div class=\"blog-card__image-container\">\n          <img\n            loading=\"lazy\"\n            src=\"/card_covers/speed-up-your-web-development-time-by-integrating-webflow-into-a-react-application.png\"\n            alt=\"Blog cover\"\n            class=\"blog-card__image\"\n          />\n        </div>\n        <p class=\"blog-card__date\">December 10, 2020</p>\n        <h2 class=\"blog-card__title\">Speed up your web development time by integrating Webflow into a React application</h2>\n        <p class=\"blog-card__excerpt\">Writing JSX to build pixel perfect UI elements can be very time consuming and frustrating. Learn how react engineers can inject complex elements / React components into a Webflow generated HTML page.</p>\n      </a>\n    "}}},
    "staticQueryHashes": []}