auth fixture provides tools for creating test tokens, testing expiration, and validating scope enforcement.
Why Test Authentication?
Authentication tests verify that your server:- Rejects requests without valid tokens
- Accepts requests with valid tokens
- Enforces token expiration
- Validates token signatures
- Respects scope-based permissions
Creating Test Tokens
Theauth fixture generates real JWT tokens using RS256 signing:
Token Options
Custom Claims
Add any custom claims your server needs:Pre-built Test Users
Theauth fixture includes pre-configured test users for common scenarios:
User Definitions
Testing Token Expiration
Expired Tokens
Short-Lived Tokens
Testing Invalid Tokens
Invalid Signature
Malformed Token
Testing Scope Enforcement
Scope-Based Access Control
Testing Multiple Scopes
JWKS Integration
For servers that verify tokens against JWKS endpoints:Testing Auth Modes
Public Mode (No Auth)
Orchestrated Mode (Auth Required)
Real-World Examples
Testing User Isolation
Testing Admin Operations
Best Practices
Do:- Test both positive (valid token) and negative (invalid/expired) cases
- Test scope enforcement for all protected operations
- Use pre-built test users for common scenarios
- Clean up created clients after multi-user tests
- Hard-code tokens in tests (always use
auth.createToken()) - Skip expiration testing
- Assume scopes are enforced without testing
- Forget to test anonymous access for public endpoints