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: docs/foundations/upgrade-to-v9.adoc
+58-5Lines changed: 58 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -669,36 +669,89 @@ permissions:
669
669
670
670
==== Breaking Changes
671
671
672
-
1. **Map-Reduce Pipelines Removed**
672
+
1. **JWT Configuration Restructuring**
673
+
- **JWT Now Default**: JWT authentication is now enabled by default (previously RND tokens were default)
674
+
- **Centralized Configuration**: New `jwtConfigProvider` component consolidates JWT settings (key, algorithm, issuer, audience) into a single source of truth, eliminating duplication across `jwtAuthenticationMechanism` and `jwtTokenManager`
675
+
- **Secure Key Generation**: JWT key defaults changed from `"secret"` to `null`, enabling automatic secure random key generation
676
+
- **Cookie Handling Enabled**: `authCookieHandler` and `authCookieSetter` are now enabled by default
677
+
- **Cookie TTL Unit Change**: Cookie TTL configuration unit changed from seconds (`expires-ttl`) to minutes
678
+
- **Token Endpoint Change**: Token service URI changed from `/tokens` to `/token`
679
+
- Action: Review and update JWT configuration if you have custom settings
680
+
- Action: If you prefer RND tokens, explicitly disable JWT and enable RND in your configuration
681
+
- Action: Update any references from `/tokens` to `/token` endpoint
682
+
683
+
2. **Map-Reduce Pipelines Removed**
673
684
- Action: Migrate all map-reduce aggregations to standard aggregation pipelines before upgrading
674
685
675
-
2. **Docker Image Changes**
686
+
3. **Docker Image Changes**
676
687
- Action: Update Docker references from `softinstigate/restheart` (OpenJDK) to the GraalVM-based image
677
688
- Note: The `latest` tag now points to the GraalVM image
678
689
679
-
3. **GraphQL App Descriptor Structure**
690
+
4. **GraphQL App Descriptor Structure**
680
691
- Action: Remove `descriptor.name` field from GraphQL app definition documents
681
692
- Action: Ensure `_id` fields are strings if not using custom URIs
682
693
683
-
4. **Token Authentication Endpoints**
694
+
5. **Token Authentication Endpoints**
684
695
- Action: Update client applications to use `/token` or `/token/cookie` endpoints
685
696
- Action: Remove `?set-auth-cookie` and similar query parameters from API calls
686
697
687
698
==== Configuration Updates
688
699
700
+
**JWT Configuration Provider:**
701
+
702
+
RESTHeart v9 introduces a centralized JWT configuration provider that eliminates duplication. JWT settings are now defined once and shared across all JWT-related components:
703
+
704
+
[source,yml]
705
+
----
706
+
jwtConfigProvider:
707
+
key: null # null enables secure random key generation
708
+
algorithm: HS256
709
+
issuer: restheart
710
+
audience: restheart
711
+
----
712
+
689
713
**Default JWT Authentication:**
690
714
691
-
JWT authentication is now enabled by default. If you prefer RND tokens, update your configuration:
715
+
JWT authentication is now enabled by default with secure defaults. If you prefer RND tokens, update your configuration:
692
716
693
717
[source,yml]
694
718
----
719
+
# Disable JWT authentication and token manager
720
+
jwtAuthenticationMechanism:
721
+
enabled: false
722
+
695
723
jwtTokenManager:
696
724
enabled: false
697
725
726
+
# Enable RND token manager
698
727
rndTokenManager:
699
728
enabled: true
700
729
----
701
730
731
+
**Cookie Handling:**
732
+
733
+
Cookie handlers are now enabled by default. Note the TTL unit has changed from seconds to minutes:
734
+
735
+
[source,yml]
736
+
----
737
+
authCookieHandler:
738
+
enabled: true
739
+
740
+
authCookieSetter:
741
+
enabled: true
742
+
ttl: 15 # minutes (previously was expires-ttl in seconds)
743
+
----
744
+
745
+
**Token Endpoint:**
746
+
747
+
The token service endpoint has changed from `/tokens` to `/token`:
748
+
749
+
[source,yml]
750
+
----
751
+
authTokenService:
752
+
uri: /token # changed from /tokens
753
+
----
754
+
702
755
**Aggregation Security:**
703
756
704
757
Review and configure aggregation security settings based on your security requirements:
0 commit comments