56,966 blogs · [ { "id": "01a0e4c9-932a-7331-aeb7-df0793bb854a", "title": ".NET 11 for Duende IdentityServer Developers", "url": "https://duendesoftware.com/blog/dotnet-11-for-duende-identityserver-developers", "published_at": "2026-09-22T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df07945d042e", "title": "The Backend for Frontend Pattern Is Now Official IETF Guidance: RFC 10017 Published", "url": "https://duendesoftware.com/blog/the-backend-for-frontend-pattern-is-now-official-ietf-guidance-rfc-10017-published", "published_at": "2026-09-15T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df07945dec77", "title": "WhatsApp One-Time Password (OTP) Login with Duende IdentityServer and User Management", "url": "https://duendesoftware.com/blog/20260910-whatsapp-otp-login-with-duende-identityserver-and-user-management", "published_at": "2026-09-10T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df07953ea84a", "title": "Migrating from IdentityServer3 to Duende IdentityServer", "url": "https://duendesoftware.com/blog/20260908-planning-migration-from-identityserver3-to-duende", "published_at": "2026-09-08T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079609c095", "title": "Client Secrets, Mutual TLS and Private Key JWT, Oh My!", "url": "https://duendesoftware.com/blog/20260903-client-secrets-mutual-tls-and-private-key-jwt", "published_at": "2026-09-03T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079652b1f8", "title": "How To Spell \"Duende\"", "url": "https://duendesoftware.com/blog/how-to-spell-duende", "published_at": "2026-09-02T12:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0796ddaf03", "title": "Understanding .NET 11 Automatic CSRF Protection: A Guide for Identity Developers", "url": "https://duendesoftware.com/blog/20260901-understanding-dotnet-11-automatic-csrf-protection", "published_at": "2026-09-01T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df07971968ca", "title": "Security Lingo Explained: TOTP (Time-based One-Time Password)", "url": "https://duendesoftware.com/blog/20260827-security-lingo-explained-totp", "published_at": "2026-08-27T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0797dc6ea4", "title": "Custom Passkey Attestation Policies: Restricting Login to Hardware Keys", "url": "https://duendesoftware.com/blog/20260825-custom-passkey-attestation-policies-restricting-login-to-hardware-keys", "published_at": "2026-08-25T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0797e915c0", "title": "OAuth Identity Chaining, Transaction Tokens & HITL: Summer 2026 Recap", "url": "https://duendesoftware.com/blog/20260820-summer-2026-identity-standards-recap", "published_at": "2026-08-20T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0798b71246", "title": "What Is Identity in Software?", "url": "https://duendesoftware.com/blog/20260818-what-is-identity", "published_at": "2026-08-18T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0799322197", "title": "Security Is a Spectrum: How to Choose Session Lifetimes in Duende IdentityServer", "url": "https://duendesoftware.com/blog/20260811-security-is-a-spectrum-session-lifetimes", "published_at": "2026-08-11T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df0799a6993d", "title": "Passkeys and WebAuthn with Duende IdentityServer and User Management", "url": "https://duendesoftware.com/blog/20260806-passkeys-and-webauthn-with-duende-identityserver-and-user-management", "published_at": "2026-08-06T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079a4a3ec9", "title": "Authenticating Players in Godot 4 with OAuth 2.0 and OpenID Connect", "url": "https://duendesoftware.com/blog/20260804-authenticating-players-in-godot-4-with-oauth", "published_at": "2026-08-04T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079ae8aac1", "title": "Hardening OAuth in the newest 2026-07-28 MCP Release Candidate", "url": "https://duendesoftware.com/blog/20260730-hardening-oauth-in-mcp-release-candidate", "published_at": "2026-07-30T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079b118bd5", "title": "Unify Your SAML and OIDC Signing Keys with Automatic Rotation and Duende IdentityServer", "url": "https://duendesoftware.com/blog/20260729-unify-saml-oidc-signing-keys-automatic-rotation", "published_at": "2026-07-29T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079bb01fd8", "title": "You Just Inherited a Duende IdentityServer. Now What?", "url": "https://duendesoftware.com/blog/20260728-you-just-inherited-a-duende-identityserver-now-what", "published_at": "2026-07-28T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079bfa4c09", "title": "Stop Accepting Breached Passwords: Integrating HaveIBeenPwned with Duende UserManagement", "url": "https://duendesoftware.com/blog/20260722-stop-accepting-breached-passwords-hibp-duende-usermanagement", "published_at": "2026-07-22T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079c1731eb", "title": ".NET July 2026 Security Updates: What They Mean for Your Duende Deployments", "url": "https://duendesoftware.com/blog/20260715-dotnet-july-2026-security-updates", "published_at": "2026-07-15T08:00:00+00:00" }, { "id": "01a0e4c9-932a-7331-aeb7-df079c450a72", "title": "You're Already Using .NET's ChangeToken (You Just Don't Know It)", "url": "https://duendesoftware.com/blog/20260714-youre-already-using-dotnet-changetoken", "published_at": "2026-07-14T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753b6b6fab", "title": "xUnit.net - Open Source Sponsorship", "url": "https://duendesoftware.com/blog/20260709-xunit-net-open-source-sponsorship", "published_at": "2026-07-09T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753c4af6d4", "title": "Port-Agnostic Localhost Redirect URIs for MCP Authentication with Duende IdentityServer", "url": "https://duendesoftware.com/blog/20260707-port-agnostic-localhost-redirect-uris-mcp-auth", "published_at": "2026-07-07T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753cb6220c", "title": "Duende IdentityServer Production Deployment Checklist", "url": "https://duendesoftware.com/blog/20260630-duende-identityserver-production-deployment-checklist", "published_at": "2026-06-30T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753d0e5bfc", "title": "What Duende Support Covers (And When You Need a Consultant)", "url": "https://duendesoftware.com/blog/20260625-what-duende-support-covers-and-when-you-need-a-consultant", "published_at": "2026-06-25T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753d1eca56", "title": "Stop AI Bots from Wasting Your Server's Time (and Your Money)", "url": "https://duendesoftware.com/blog/20260623-stop-ai-bots-from-wasting-your-servers-time", "published_at": "2026-06-23T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753da92fc0", "title": "How Duende IdentityServer Filters Claims (And Why It Matters)", "url": "https://duendesoftware.com/blog/20260618-how-duende-identityserver-filters-claims", "published_at": "2026-06-18T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753dc43578", "title": "Core vs Extended Protocols in Duende IdentityServer v8: What You Get and When You Need More", "url": "https://duendesoftware.com/blog/20260616-core-vs-extended-protocols-in-duende-identityserver-v8", "published_at": "2026-06-16T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753e8b6f84", "title": "Your IdentityServer v8 Upgrade Checklist: A Quick Pre-Flight Guide", "url": "https://duendesoftware.com/blog/20260611-your-identityserver-v8-upgrade-checklist-a-quick-pre-flight-guide", "published_at": "2026-06-11T07:15:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753ef53c31", "title": "Setting Up SAML Single Sign-On in ASP.NET with Duende IdentityServer", "url": "https://duendesoftware.com/blog/20260609-setting-up-saml-single-sign-on-with-duende-identityserver", "published_at": "2026-06-09T06:10:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753f2d026d", "title": "Your Identity, Your Terms: Duende's Modular Identity Infrastructure and v8.x Release", "url": "https://duendesoftware.com/blog/20260602-your-identity-your-terms-duendes-modular-identity-infrastructure-v8-release", "published_at": "2026-06-02T08:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef753fc601ad", "title": "Duende Spring Launch '26: Identity Infrastructure That Expands With You", "url": "https://duendesoftware.com/blog/20260602-duende-spring-launch-identity-infrastructure-that-expands-with-you", "published_at": "2026-06-02T07:49:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef754033e38f", "title": "SAML and OpenID Connect (OIDC): Coexistence, Not Competition", "url": "https://duendesoftware.com/blog/20260528-saml-and-openid-connect", "published_at": "2026-05-28T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7540adf7f3", "title": "The 9 Components of SAML You Need to Know, Ranked by Importance", "url": "https://duendesoftware.com/blog/20260526-the-9-components-of-saml", "published_at": "2026-05-26T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7540e33df9", "title": "The Cost of NOT Implementing Financial-Grade Security", "url": "https://duendesoftware.com/blog/20260521-the-cost-of-not-implementing-financial-grade-security", "published_at": "2026-05-21T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef75413f4a7a", "title": "Token Issuer Isolation: Why It Matters for Security and Compliance", "url": "https://duendesoftware.com/blog/20260520-token-issuer-isolation", "published_at": "2026-05-20T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef754226c391", "title": "The Composable Identity Pattern: Build What You Need, Skip What You Don't", "url": "https://duendesoftware.com/blog/20260518-the-composable-identity-pattern", "published_at": "2026-05-18T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7542e200e9", "title": "Multi-Brand Identity: When Your Company Needs More Than One Face", "url": "https://duendesoftware.com/blog/20260515-multi-brand-identity", "published_at": "2026-05-15T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7543c917d6", "title": "Post-Quantum Cryptography in .NET 10: A Practical Guide", "url": "https://duendesoftware.com/blog/20260514-post-quantum-cryptography-in-dotnet-10", "published_at": "2026-05-14T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7544206bb4", "title": "The field Keyword in C# 14: Write Less, Validate More", "url": "https://duendesoftware.com/blog/20260512-the-field-keyword-in-csharp-14", "published_at": "2026-05-12T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef75449db2c4", "title": "The Real Cost of Build vs. Buy for Identity", "url": "https://duendesoftware.com/blog/20260507-the-real-cost-of-build-vs-buy", "published_at": "2026-05-07T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7544ad3ea8", "title": "OAuth 2.1 Made Simple: The Only Flows You Need", "url": "https://duendesoftware.com/blog/20260506-oauth-21-made-simple-the-only-flows-you-need", "published_at": "2026-05-06T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7544efa603", "title": "Beyond localhost: Multi-Instance ASP.NET Core Deployment with .NET 10", "url": "https://duendesoftware.com/blog/20260505-beyond-localhost-multi-instance-aspnetcore-deployment-with-dotnet-10", "published_at": "2026-05-05T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7544fee928", "title": "Harden Your .NET JSON Deserialization with System.Text.Json and JsonSerializerOptions.Strict", "url": "https://duendesoftware.com/blog/20260430-harden-your-dotnet-json-deserialization", "published_at": "2026-04-30T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7545ccecdc", "title": "ASP.NET Core Cookie Size Limits in Production: Causes and Fixes", "url": "https://duendesoftware.com/blog/20260429-aspnet-core-cookie-size-limits", "published_at": "2026-04-29T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef754607f6b1", "title": "The Emergency Stop Button: Immediate Token Revocation in .NET 10", "url": "https://duendesoftware.com/blog/20260428-the-emergency-stop-button-implementing-immediate-token-revocation-in-dotnet-10", "published_at": "2026-04-28T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7546ad1c6a", "title": "The 2025 OWASP Top 10 and IdentityServer", "url": "https://duendesoftware.com/blog/20260423-the-2025-owasp-top-10", "published_at": "2026-04-23T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7546ff0f05", "title": "Update Guidance for CVE-2026-40372 - ASP.NET Data Protection", "url": "https://duendesoftware.com/blog/20260422-update-guidance-for-cve-2026-40372-aspnet-data-protection", "published_at": "2026-04-22T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef754748a34d", "title": "Why a Standard JWT Access Token Matters", "url": "https://duendesoftware.com/blog/20260421-why-a-standard-jwt-access-token-matters", "published_at": "2026-04-21T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef754816979d", "title": "The Identity Governance Checklist You Wish You Had Six Months Ago", "url": "https://duendesoftware.com/blog/20260420-the-identity-governance-checklist", "published_at": "2026-04-20T09:00:00+00:00" }, { "id": "01a0e4c9-932b-70ed-a2a1-ef7548bf09f9", "title": "The History and Future of SAML: Why a 20-Year-Old Protocol Still Matters", "url": "https://duendesoftware.com/blog/20260416-the-history-and-future-of-saml", "published_at": "2026-04-16T09:00:00+00:00" } ] posts Claim your blog
Back to duendesoftware.com
Blog · corpus.blog/blogs/duendesoftware.com/posts

duendesoftware.com

duendesoftware.com

2026