diff --git a/.changeset/cuddly-rules-behave.md b/.changeset/cuddly-rules-behave.md new file mode 100644 index 000000000..2eb022ac6 --- /dev/null +++ b/.changeset/cuddly-rules-behave.md @@ -0,0 +1,5 @@ +--- +'react-native-app-auth': patch +--- + +Remove duplicate iOS auth `state` and `nonce` parameters. diff --git a/packages/react-native-app-auth/ios/RNAppAuth.m b/packages/react-native-app-auth/ios/RNAppAuth.m index a4afddc6d..ed51141d0 100644 --- a/packages/react-native-app-auth/ios/RNAppAuth.m +++ b/packages/react-native-app-auth/ios/RNAppAuth.m @@ -338,6 +338,10 @@ - (void)authorizeWithConfiguration: (OIDServiceConfiguration *) configuration NSString *codeVerifier = usePKCE ? [[self class] generateCodeVerifier] : nil; NSString *codeChallenge = usePKCE ? [[self class] codeChallengeS256ForVerifier:codeVerifier] : nil; NSString *nonce = useNonce ? additionalParameters[@"nonce"]? additionalParameters[@"nonce"]: [[self class] generateState] : nil ; + + NSMutableDictionary* mutableDict = [additionalParameters mutableCopy]; + [mutableDict removeObjectForKey:@"state"]; + [mutableDict removeObjectForKey:@"nonce"]; // builds authentication request OIDAuthorizationRequest *request = @@ -353,7 +357,7 @@ - (void)authorizeWithConfiguration: (OIDServiceConfiguration *) configuration codeVerifier:codeVerifier codeChallenge:codeChallenge codeChallengeMethod: usePKCE ? OIDOAuthorizationRequestCodeChallengeMethodS256 : nil - additionalParameters:additionalParameters]; + additionalParameters:[mutableDict copy]]; // performs authentication request id appDelegate = (id)[UIApplication sharedApplication].delegate;