diff --git a/android/src/main/java/com/rnappauth/RNAppAuthModule.java b/android/src/main/java/com/rnappauth/RNAppAuthModule.java
index dad125f3..be5486f0 100644
--- a/android/src/main/java/com/rnappauth/RNAppAuthModule.java
+++ b/android/src/main/java/com/rnappauth/RNAppAuthModule.java
@@ -674,9 +674,16 @@ private void authorizeWithConfiguration(
                 authRequestBuilder.setState(additionalParametersMap.get("state"));
                 additionalParametersMap.remove("state");
             }
+
+            if (additionalParametersMap.containsKey("nonce")) {
+                authRequestBuilder.setNonce(additionalParametersMap.get("nonce"));
+                additionalParametersMap.remove("nonce");
+            
+           }
             if (additionalParametersMap.containsKey("ui_locales")) {
                 authRequestBuilder.setUiLocales(additionalParametersMap.get("ui_locales"));
                 additionalParametersMap.remove("ui_locales");
+
             }
 
             authRequestBuilder.setAdditionalParameters(additionalParametersMap);
diff --git a/ios/RNAppAuth.m b/ios/RNAppAuth.m
index 40cf422a..500962e4 100644
--- a/ios/RNAppAuth.m
+++ b/ios/RNAppAuth.m
@@ -319,7 +319,7 @@ - (void)authorizeWithConfiguration: (OIDServiceConfiguration *) configuration
 
     NSString *codeVerifier = usePKCE ? [[self class] generateCodeVerifier] : nil;
     NSString *codeChallenge = usePKCE ? [[self class] codeChallengeS256ForVerifier:codeVerifier] : nil;
-    NSString *nonce = useNonce ? [[self class] generateState] : nil;
+    NSString *nonce =  useNonce ? additionalParameters[@"nonce"]? additionalParameters[@"nonce"]:  [[self class] generateState] : nil ;
 
     // builds authentication request
     OIDAuthorizationRequest *request =