You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AUTHENTICATION.md
+51-2Lines changed: 51 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,10 +7,17 @@ This document describes how to configure mTLS (mutual TLS) and OAuth authenticat
7
7
The REST API supports two authentication mechanisms that can be applied to specific endpoints:
8
8
9
9
1.**mTLS (Mutual TLS)**: Client certificate-based authentication using OpenShift Service CA
10
-
2.**OAuth**: Bearer token-based authentication using OpenShift's built-in OAuth server and JWT tokens
10
+
2.**OAuth**: Bearer token-based authentication using OpenShift's built-in OAuth server and JWT tokens with **strict validation**
11
11
12
12
Both mechanisms can be enabled independently or together for enhanced security. This unified approach works seamlessly for both single node and multi-node OpenShift clusters, providing enterprise-grade security with minimal complexity.
13
13
14
+
### Security Guarantees
15
+
16
+
-**No Authentication Bypass**: When OAuth is enabled, all requests must include valid JWT tokens
17
+
-**Strict Issuer Validation**: Token issuer must exactly match the configured OAuth issuer
18
+
-**Comprehensive Token Validation**: Expiration, audience, and signature verification
19
+
-**Clear Error Messages**: Authentication failures return specific error codes without exposing sensitive information
20
+
14
21
## Protected vs Public Endpoints
15
22
16
23
### Protected Endpoints (Require Authentication)
@@ -326,6 +333,47 @@ curl -X GET https://localhost:9043/api/ocloudNotifications/v2/health \
This ensures OAuth issuer URLs match your actual OpenShift cluster configuration and prevents authentication bypass due to issuer mismatches.
139
+
103
140
### Key Configuration Fields
104
141
105
142
#### mTLS Configuration:
@@ -350,4 +387,3 @@ The Service CA + OpenShift OAuth approach provides:
350
387
- ✅ **Cost Effective**: No additional licensing or resource costs
351
388
352
389
This approach scales from single node to large multi-node clusters without any configuration changes, making it the ideal solution for OpenShift deployments of any size.
Copy file name to clipboardExpand all lines: README.md
+15-1Lines changed: 15 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,11 +9,25 @@ The REST-API specification below is generated by Swagger tools. Please refer to
9
9
10
10
## Authentication
11
11
12
-
This REST API supports enterprise-grade authentication using mTLS and OAuth. For detailed configuration instructions, see:
12
+
This REST API supports enterprise-grade authentication using mTLS and OAuth with **strict security validation**. For detailed configuration instructions, see:
13
13
14
14
-**[Authentication Configuration](AUTHENTICATION.md)** - Complete guide for configuring mTLS and OAuth authentication
15
15
-**[OpenShift Authentication](OPENSHIFT_AUTHENTICATION.md)** - OpenShift-specific deployment guide with native Service CA and OAuth server integration
16
16
17
+
### Security Features
18
+
19
+
-**Strict OAuth Validation**: JWT tokens are validated against the configured issuer with no bypass mechanisms
20
+
-**Issuer Verification**: Token issuer must exactly match the configured OAuth issuer
21
+
-**Expiration Checking**: Expired tokens are rejected with clear error messages
22
+
-**Audience Validation**: Tokens must contain the required audience claim
23
+
-**mTLS Certificate Validation**: Client certificates are verified against the configured CA
-**Added JWT Library Support**: Uses `golang-jwt/jwt/v5` for secure token parsing and validation
29
+
-**Enhanced Error Handling**: Clear error messages for authentication failures without exposing sensitive information
30
+
17
31
## O-RAN Compliant REST API Specification
18
32
19
33
Starting from release [v1.21.0](https://github.com/redhat-cne/rest-api/releases/tag/v1.21.0), the REST API implemented in this repo is compliant with [O-RAN O-Cloud Notification API Specification for Event Consumers 4.0](https://orandownloadsweb.azurewebsites.net/specifications).
0 commit comments