Okta mtls implementation#384
Conversation
PR Compliance Guide 🔍Below is a summary of compliance checks for this PR:
Compliance status legend🟢 - Fully Compliant🟡 - Partial Compliant 🔴 - Not Compliant ⚪ - Requires Further Human Verification 🏷️ - Compliance label |
||||||||||||||||||||||||
PR Code Suggestions ✨Explore these optional code suggestions:
|
||||||||||||||
Removed detailed logging and custom error message for access denied events in OktaAppGateThrottle.
Removed logging statements related to certificate storage and validation.
User description
🔐 Feature: mTLS Integration for Okta Login via Network Layer
🧩 Summary
This PR introduces mutual TLS (mTLS) support for Okta login flows on the WootzApp backend.
It enhances authentication security by validating client certificates before allowing access to Okta SSO endpoints, ensuring that only authorized WootzApp browsers can initiate or complete authentication requests.
🏗️ Implementation Details
1. Network Layer Integration
okta.com/applogin URLs.PR Type
Enhancement
Description
Implements mTLS certificate gating for Okta app access via network throttle
Adds extension API endpoint to receive and validate mTLS certificates
Integrates certificate manager with time-based validation (10-minute window)
Updates device enrollment URLs and adds certificate validity parameter
Changes host validation from eb.wootzapp.com to trust.wootzapp.com
Diagram Walkthrough
File Walkthrough
12 files
Add Okta throttle and update host validationImplement mtlsCert extension API functionCreate URL loader throttle for Okta access gatingImplement certificate storage and validation logicAdd URL matching utilities for Okta and eb.wootzapp.comAdd certificate validity parameter to enrollment requestAdd WootzMtlsCertFunction class declarationDefine OktaAppGateThrottle throttle interfaceDefine certificate manager interface and storageDefine URL matching utility functionsAdd histogram value for mtlsCert functionAdd mtlsCert API definition to extension manifest2 files
Update enrollment URLs and add bearer token placeholderAdd new Okta mTLS source files to build