Skip to content

Conversation

@themattwilliams
Copy link
Contributor

@themattwilliams themattwilliams commented Sep 30, 2025

Overview

Comprehensive guide to implementing authentication and authorization patterns using OpenAPI security schemes.

Article Details

  • Title: Authentication and Authorization with OpenAPI
  • Word count: ~12,000 words (largest security article)
  • Location: /learn/security/authentication-authorization-openapi

Key Features

  • Quick Start Guide - Actionable auth implementation steps
  • Tabbed authentication methods - JWT Bearer, OAuth2, API Key, mTLS
  • Tabbed authorization patterns - RBAC, Context-Dependent, Fine-Grained Permissions
  • Problem tabs - Common authentication and authorization issues with solutions
  • OpenAPI security scheme examples - Complete configurations with annotations
  • Node.js examples - Express middleware for token validation and authorization
  • Detailed JWT structure - Conceptual breakdown with security notes
  • Internal cross-links - Connected to all other security articles

Content Sections

  1. Key Takeaways
  2. Quick Start Guide
  3. Authentication vs Authorization
  4. Authentication Methods (4 tabs: JWT, OAuth2, API Key, mTLS)
  5. Advanced Authorization Patterns (3 tabs: RBAC, Context-Dependent, Fine-Grained)
  6. Authentication Problems (3 tabs with solutions)
  7. Authorization Problems (3 tabs with solutions)
  8. Monitoring and Observability (2 tabs)
  9. Best Practices Checklist
  10. FAQ

Authentication Methods

  • JWT Bearer Token - Full implementation with structure breakdown
  • OAuth2 with Scopes - Complete flow with security schemes
  • API Key Authentication - Header and query parameter patterns
  • Mutual TLS (mTLS) - Certificate-based authentication

Dependencies

Review Checklist

  • All authentication method tabs display correctly
  • All authorization pattern tabs work properly
  • Problem/solution tabs are accessible
  • JWT token structure highlighting is clear
  • Code highlighting displays conceptual security notes
  • Internal anchor links navigate to correct sections
  • Quick Start Guide is at top of article
  • Monitoring tabs render correctly

Preview

Once deployed, preview at: https://redocly.com/learn/security/authentication-authorization-openapi

Matt Williams and others added 30 commits August 22, 2025 14:12
- Created new Security learning center card in cards.ts
- Added learn/security/ directory with proper structure
- Added comprehensive API design-first security guide article covering TLS, input validation, rate limiting, and access control
- Fixed TOC navigation by removing bold formatting from headings
- Removed confusing Mermaid diagrams per feedback
- Added proper anchor links for deep navigation
- Updated sidebars.yaml and created security index page
This article belongs on a separate branch for API testing, not the security branch.
…ization

- Split original api-design-first-security-guide.md into 6 focused articles
- Remove Redocly branding to create vendor-neutral security content
- Add 3 strategic Mermaid diagrams (#4, #5, #7) for visual learning

New Articles Created:
• learn/security/index.md - Main landing page with article overview
• api-tls-encryption-https-best-practices.md - TLS 1.3, HTTPS, mTLS guide
• api-input-validation-injection-prevention.md - Schema validation, SQL injection prevention
• api-rate-limiting-abuse-prevention.md - DoS protection, rate limiting algorithms
• authentication-authorization-openapi.md - JWT, OAuth2, security schemes
• api-design-first-security-governance.md - Automated governance, policy-as-code

Navigation & UX Improvements:
• Updated learn/security/sidebars.yaml with organized article structure
• Enhanced pages/learning-center/cards.ts with all 6 security articles
• Added strategic cross-links between related security topics
• Implemented target='_blank' links to preserve user navigation context
• Fixed URLs to use clean paths without .md extensions

Content Quality:
• Each article SEO-optimized with focused keywords and standalone value
• Comprehensive cross-referencing between security domains
• Real-world case studies: Heartbleed, Equifax, Facebook phone scraping
• Practical code examples and governance rule implementations
• Progressive learning path from infrastructure to organizational maturity
- Add originals/redocly.yaml: Clean production version without chunk annotations
- Add originals/security-functions.ts: TypeScript implementation of custom security validation functions
- Includes 4 advanced security validation functions: checkOperationSecurity, validateAdminSecurity, validateOAuthScopes, validateRateLimitConsistency
- Remove original files from _filesets (moved to originals/ folder)
- Update automated-security-validation-walkthrough.md
- Add new walkthrough versions: automated-security-validation-walkthrough-v2.md and test-simple-walkthrough.md
- Update learning center cards and root redocly.yaml configuration
- Convert SQL injection examples from Python to JavaScript with Express.js
- Convert rate limiting algorithms from Python/Go to JavaScript (Token Bucket, Sliding Window, Fixed Window)
- Convert authorization monitoring from Python to JavaScript with Express middleware
- Convert validation metrics from Python to JavaScript with Map/Set data structures
- Convert rate limit testing framework from Python asyncio/aiohttp to JavaScript fetch/Promise.all
- Update all tab labels and code block titles to reflect JavaScript
- Maintain all security highlighting and educational explanations
- Provide consistent Node.js developer experience across all security articles
- Changed 'pages:' to 'items:' in sidebars.yaml to match Redocly syntax
- All security articles now display correctly in left navigation menu
- Fixed sidebar configuration for API Security Fundamentals group
- Delete api-design-first-security-guide.md (replaced by focused individual articles)
- Remove from sidebars.yaml navigation
- Update main landing page title to 'Framework and Fundamentals' instead of 'Complete Guide'
- Cleaner navigation with 5 focused security articles + landing page + walkthrough
- Delete automated-security-validation-walkthrough.md (temporarily removed)
- Update sidebars.yaml to remove walkthrough from navigation
- Final security learning center now has 5 focused articles + landing page
- Landing page with updated 'Framework and Fundamentals' title
- Complete sidebar navigation structure
- Placeholder stub articles with proper frontmatter and outlines
- No broken links - all navigation functional
- Ready for individual article content PRs

Stubs created for:
- TLS Encryption and HTTPS Best Practices
- Input Validation and Injection Prevention
- Rate Limiting and Abuse Prevention
- Authentication and Authorization with OpenAPI
- Comprehensive guide with JWT, OAuth2, API Key, and mTLS patterns
- Role-Based Access Control (RBAC) implementation strategies
- OpenAPI security scheme definitions and validation
- Context-dependent authorization examples
- Token management and validation patterns
- Node.js implementation examples with detailed explanations
- Tabbed organization for different auth methods
- Quick Start Guide and internal linking structure
- Add redocly.yaml: Production-ready security validation configuration (505 lines)
- Add security-functions.ts: TypeScript custom security validation functions (239 lines)
- Files placed in _filesets directory for review purposes only (not linked in navigation)
- Includes 4 advanced validation functions: checkOperationSecurity, validateAdminSecurity, validateOAuthScopes, validateRateLimitConsistency
This is a reference file for review purposes only and should not attempt to load plugins during build.
- Changed all headings from title case to sentence case
- Addresses @adamaltman review comment on PR #109
Matt Williams and others added 8 commits October 7, 2025 15:32
- Changed all headings from title case to sentence case
- Addresses @adamaltman review comment on PR #109
- Commented out rules that use custom security plugin functions
- Prevents 'Plugin security isn't found' error during build
- Rules require security-functions.js plugin which is not available
- Deleted learn/security/_filesets/ directory containing redocly.yaml and security-functions.ts
- Removed _filesets reference from root redocly.yaml ignore list
- Files were for reference only and no longer needed
@themattwilliams
Copy link
Contributor Author

Build failure fixed

Merged latest foundation branch changes to resolve build issues:

Updated index.md - Now includes Markdoc cards component for better guide presentation
Heading casing - Applied sentence case to all headings per style guidelines
Stub articles - Updated with latest versions from foundation branch

The project preview should now build successfully. The authentication article (50KB, ~12,000 words) is ready for review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants