FusionAuth
    • Home
    • Categories
    • Recent
    • Popular
    • Pricing
    • Contact us
    • Docs
    • Login
    1. Home
    2. Popular
    Log in to post
    • All Time
    • Day
    • Week
    • Month
    • All Topics
    • New Topics
    • Watched Topics
    • Unreplied Topics
    • All categories
    • F

      Solved How to perform load testing on FusionAuth for spiky traffic patterns?

      Frequently Asked Questions (FAQ)
      • load-testing performance cloud rate-limiting • • FASupportBot
      2
      0
      Votes
      2
      Posts
      19
      Views

      F

      Load testing FusionAuth typically involves using a modern tool like k6 to simulate your expected traffic patterns. Here's the general approach:

      Use k6 or other HTTP-capable load testing tools: While k6 is a good modern option, FusionAuth can be load tested with any HTTP-capable load testing tool such as Gatling, JMeter, or Locust. FusionAuth also provides an open source load testing repository with pre-built scenarios including creating tenants and applications, registering users, logging users in via the Login API, and full Authorization Code grant flows.

      Profile your traffic: Use your load testing tool to determine what your actual traffic patterns will look like, especially accounting for your spiky demand. This helps you understand the load FusionAuth will need to handle. Look beyond just averages—also check the p95 (95th percentile) response time to understand the experience of your slowest users.

      Test in a production-like environment: It's critical to load test against an environment that mirrors your expected production setup. If you're using FusionAuth Cloud, the Basic Cloud tier (single node running FusionAuth, Elasticsearch, and PostgreSQL together) is not representative and not recommended for load testing. Instead, use a Business Cloud or High-Availability plan for meaningful load testing. You can spin up an HA instance, run your tests, and tear it down—you'll only be charged for the time it's running.

      Notify FusionAuth if testing on Cloud: If you're load testing on FusionAuth Cloud, open a support ticket to let the team know when you plan to stress test, as they monitor CPU and other metrics.

      Monitor the right components: Performance bottlenecks are typically the database or CPU nodes. Both logins and user creation are CPU-intensive due to password hashing. If testing a multi-node system behind a load balancer, disable sticky sessions as they are not required for FusionAuth.

      IP allowlisting considerations: If you're using FusionAuth Cloud, you may need to consider IP allowlisting depending on your security configuration. FusionAuth Cloud has protections in place to prevent DoS attacks and keep services running smoothly.

      The specific approach can vary based on your exact traffic patterns and requirements, but these are the key components most customers use when load testing FusionAuth.

      Related Documentation Load Test Documentation - Comprehensive guide on load testing FusionAuth, including tool recommendations and best practices FusionAuth Load Tests GitHub Repository - Open source load testing scripts with pre-built scenarios Handling Spiky Game Traffic: Registration & Autoscaling Best Practices - Specific guidance for handling spiky traffic patterns during high-demand scenarios FusionAuth Cloud High Availability Architecture - Details on HA deployment options for production-like testing FusionAuth Cloud Security - Information about Cloud security protections and rate limiting Troubleshooting Performance - Guide for troubleshooting performance issues Scaling Your Auth - Best Practices for Performance and Security - General guidance on scaling authentication systems
    • F

      Solved Can I reuse the same FusionAuth license key across dev, staging, and production?

      Frequently Asked Questions (FAQ)
      • license migration self-hosted deployment environment • • FASupportBot
      2
      0
      Votes
      2
      Posts
      18
      Views

      F

      Yes, you can use your FusionAuth licenses across multiple environments, but you should use the appropriate license type for each:

      License Structure

      In your account portal at account.fusionauth.io, you should see two licenses:

      Production License — use this for your production environment only Non-Production License — use this for your dev and staging environments Best Practice Deploy the Non-Production license to your dev and staging instances Deploy the Production license to your production instance

      Both licenses can be active simultaneously across different deployments without conflict. The license key itself is tied to your account and does not interfere with your managed FusionAuth Cloud setup when used in self-hosted deployments.

      Important Notes

      The non-production license can be used across as many non-production environments as you need — dev, staging, QA, UAT, CI/CD, or even individual developer local instances. There's no limit on the number of instances using the non-production key.

      Do not use the production license on non-production environments — this would cause test logins to count toward your Monthly Active Users (MAU) and affect your billing.

      License costs are not based on the number of instances — whether you have 1, 2, or 100 instances, the license cost is related only to your plan tier and MAU count.

      Using self-hosted licenses won't affect your FusionAuth Cloud deployment — the licenses operate independently, so activating your license keys on self-hosted instances will not disrupt your existing managed environment.

      Related Documentation Licensing Documentation — Overview of FusionAuth licensing concepts License FAQ: Non-Production Licenses — Details on using licenses for dev/QA/UAT servers License FAQ: Multiple Deployments — How license costs work with multiple instances Account Portal Documentation — Where to find your license keys Cloud vs Self-Hosted — Comparison of hosting options
    • F

      Solved Why is `act` claim now reserved in 1.70.0? Lambda silently fails with no warning

      Frequently Asked Questions (FAQ)
      • jwt lambda claims upgrade 1-70-0 • • FASupportBot
      2
      0
      Votes
      2
      Posts
      28
      Views

      F

      The act claim was reserved in FusionAuth 1.70.0 because it is defined in RFC 8693 (OAuth 2.0 Token Exchange) as a standard claim representing the "actor" in delegated token scenarios. FusionAuth began enforcing this reservation to ensure compliance with the RFC and prevent conflicts with the claim's intended usage in token exchange flows.

      Why This Is Classified as Minor

      FusionAuth follows semantic versioning, and this change was classified as minor rather than breaking because:

      The act claim is a standardized RFC claim with a specific defined purpose Using non-standard values in RFC-defined claims can cause interoperability issues with other OAuth/OIDC systems The change aligns FusionAuth's behavior with industry standards

      However, the lack of logging when a reserved claim is silently discarded is a valid concern and makes troubleshooting difficult.

      Recommended Solutions 1. Use a Custom Claim Namespace

      Instead of using act directly, use a namespaced custom claim that won't conflict with RFC-defined claims:

      // In your JWT populate lambda jwt['https://yourapp.com/actor'] = 'your-actor-id';

      This approach is standard practice in OAuth/OIDC and prevents future collisions with reserved claims.

      2. Use applicationId or Other Non-Reserved Claims

      If the actor represents an application or service account, consider using the built-in applicationId claim or another custom claim that describes your specific use case (e.g., actorId, serviceAccountId).

      Why Reserved Claims Cannot Be Overridden

      Reserved claims like act, sub, iss, aud, etc., are protected because they have specific meanings defined by RFCs and must maintain consistent behavior for:

      Interoperability: Other systems expect these claims to have specific formats and meanings Security: Claims like iss and aud are critical for token validation and cannot be arbitrarily changed Standards Compliance: FusionAuth aims to be a standards-compliant identity provider Migration Path

      If you're currently using act in production:

      Update your JWT populate lambda to use a namespaced custom claim Update your application to read from the new claim name Test thoroughly in a non-production environment before upgrading

      If you need to maintain backward compatibility during migration, you could temporarily set both claims in your lambda (the custom namespaced one and attempt to set act, knowing it will be discarded) and update your application to check for both, prioritizing the custom claim.

      Related Documentation JWT Populate Lambda - Documentation on customizing JWT claims with lambdas Client Credentials JWT Populate Lambda - Documentation for lambdas in the Client Credentials grant OAuth Token Exchange (RFC 8693) - FusionAuth's implementation of RFC 8693, which defines the act claim FusionAuth 1.70.0 Release Notes - Release notes for version 1.70.0 FusionAuth 1.70 Announcement: Token Exchange - Blog post explaining the new token exchange feature and scoped delegation GitHub Issue #1721: JWT claim overriding, namespacing or the ability to unreserve claims - Open issue discussing the ability to override or unreserve claims Additional Context on Reserved Claims

      As of FusionAuth 1.70.0, the following claims are reserved in JWT Populate Lambdas and cannot be modified:

      act (added in 1.70.0) amr auth_time authenticationType cnf fa_uid gty iat sub tid tty

      Note: The exp claim can be lowered (shortened) but not extended or removed.

      For other lambda types (Client Credentials, UserInfo, Token Exchange), different sets of reserved claims apply. Always use namespaced custom claims (e.g., https://example.com/my-claim) to avoid conflicts with current or future reserved claims.

    • W

      Unsolved Does FusionAuth Support UMA Grant and Token Exchange (RFC 8693)?

      Q&A
      • • • wesley
      3
      0
      Votes
      3
      Posts
      1.5k
      Views

      joshuaJ

      RFC 8693 is now supported as of 1.70.0