41554 blogs · [ { "id": "01a0871e-71d5-7374-a705-2807e98e3779", "title": "JWT Authentication in .NET: Building a Real OAuth 2.0 Authorization Server: Client Registration", "url": "https://www.aaronpina.com/jwt-authentication-in-net-building-a-real-oauth-2-0-authorization-server-client-registration/", "published_at": "2026-04-07T05:00:12+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ea4529cc", "title": "JWT Authentication in .NET: Creating an OAuth 2.0 Compatible Token Endpoint", "url": "https://www.aaronpina.com/jwt-authentication-in-net-creating-an-oauth-2-0-compatible-token-endpoint/", "published_at": "2026-03-25T07:43:23+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807eaff9b59", "title": "Common JWT Attacks in .NET APIs (and How to Block Them)", "url": "https://www.aaronpina.com/common-jwt-attacks-in-net-apis-and-how-to-block-them/", "published_at": "2026-03-17T14:30:35+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807eb69fab2", "title": "From Demo JWT to Production JWT: Adding Proper Audience Validation", "url": "https://www.aaronpina.com/from-demo-jwt-to-production-jwt-adding-proper-audience-validation/", "published_at": "2026-03-10T06:00:26+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ec53d123", "title": "Lazy JWT Key Rotation in .NET: Redis-Powered JWKS That Just Works", "url": "https://www.aaronpina.com/lazy-jwt-key-rotation-in-net-redis-powered-jwks-that-just-works/", "published_at": "2026-03-03T16:32:07+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ed0e4f48", "title": "The Ultimate JWKS Setup for Robust JWT Validation in ASP.NET 10", "url": "https://www.aaronpina.com/the-ultimate-jwks-setup-for-robust-jwt-validation-in-asp-net-10/", "published_at": "2026-02-24T15:26:38+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ed2c5078", "title": "Revoke JWTs in .NET: Stop Stolen Tokens Dead with Simple Code", "url": "https://www.aaronpina.com/revoke-jwts-in-net-stop-stolen-tokens-dead-with-simple-code/", "published_at": "2026-02-17T06:00:28+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ee2bc6a7", "title": "JWT Refresh Tokens Done Right: Proactive Background Refresh + Rotation + Sliding Expiry in ASP.NET Core", "url": "https://www.aaronpina.com/jwt-refresh-tokens-done-right-proactive-background-refresh-rotation-sliding-expiry-in-asp-net-core/", "published_at": "2026-02-10T06:00:52+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ee343d0a", "title": "Refresh Tokens Done Right: Avoid Common JWT Pitfalls in .NET", "url": "https://www.aaronpina.com/refresh-tokens-done-right-avoid-common-jwt-pitfalls-in-net/", "published_at": "2026-02-02T06:57:34+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ee6118f3", "title": "Build a Secure .NET Minimal API with JWT Authentication – Step by Step", "url": "https://www.aaronpina.com/build-a-secure-net-minimal-api-with-jwt-authentication-step-by-step/", "published_at": "2026-01-10T06:00:14+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ee8016d2", "title": "Inside a JWT: Build Your Own Token from Scratch in .NET", "url": "https://www.aaronpina.com/inside-a-jwt-build-your-own-token-from-scratch-in-net/", "published_at": "2025-12-30T06:00:31+00:00" }, { "id": "01a0871e-71d5-7374-a705-2807ef3a8672", "title": "Why Authentication Matters: The Passport Every .NET API Needs", "url": "https://www.aaronpina.com/why-authentication-matters-the-passport-every-net-api-needs/", "published_at": "2025-12-17T15:58:10+00:00" } ] posts Claim your blog
Back to aaronpina.com
Blog · corpus.blog/blogs/aaronpina.com/posts

aaronpina.com

aaronpina.com

2026

2025