diff --git a/oidc-authenticator/src/main/java/org/xwiki/contrib/oidc/auth/internal/OIDCClientConfiguration.java b/oidc-authenticator/src/main/java/org/xwiki/contrib/oidc/auth/internal/OIDCClientConfiguration.java
index 454344e..5cb4587 100644
--- a/oidc-authenticator/src/main/java/org/xwiki/contrib/oidc/auth/internal/OIDCClientConfiguration.java
+++ b/oidc-authenticator/src/main/java/org/xwiki/contrib/oidc/auth/internal/OIDCClientConfiguration.java
@@ -348,6 +348,10 @@ public class OIDCClientConfiguration extends OIDCConfiguration
     public static final String PROP_INITIAL_REQUEST = "xwiki.initialRequest";
 
     public static final String PROP_STATE = "oidc.state";
+    /**
+     * @since TODO
+     */
+    public static final String PROP_STATE_FMT = "oidc.state.%s";
 
     /**
      * @since 2.8.7
@@ -1052,9 +1067,12 @@ public class OIDCClientConfiguration extends OIDCConfiguration
         return getProperty(PROP_ENDPOINT_USERINFO_METHOD, HTTPRequest.Method.GET);
     }
 
-    public String getSessionState()
-    {
-        return getSessionAttribute(PROP_STATE);
+    public String getParallelSessionState(String providedState) {
+        String name = PROP_STATE;
+        if (this.configuration.isParallelAuthzEnabled()) {
+            name = String.format(PROP_STATE_FMT, providedState);
+        }
+        return getSessionAttribute(name);
     }
 
     /**
@@ -1077,12 +1090,25 @@ public class OIDCClientConfiguration extends OIDCConfiguration
 
     public void setSessionState(String state)
     {
-        setSessionAttribute(PROP_STATE, state);
+        String name = PROP_STATE;
+        if (this.configuration.isParallelAuthzEnabled()) {
+            name = String.format(PROP_STATE_FMT, state);
+        }
+        setSessionAttribute(name, state);
     }
 
-    public String removeSessionState()
+    public String removeSessionState(String state)
     {
-        return removeSessionAttribute(PROP_STATE);
+        String name = PROP_STATE;
+        if (this.configuration.isParallelAuthzEnabled()) {
+            name = String.format(PROP_STATE_FMT, state);
+        }
+        return removeSessionAttribute(name);
+    }
+
     /**
