-
Notifications
You must be signed in to change notification settings - Fork 467
Open
Description
Google 401 Malformed Request on Android when adding new account (Cognito + Google Sync)
Description
I'm experiencing a 401 Malformed Request error specifically on Android when using AWS Cognito as an Identity Provider with Google.
The issue occurs only when the device has Google account synchronization active and the user attempts to add a new Google account during the sign-in process.
Steps to Reproduce
- Trigger the login flow using
authorizewith Google/Cognito. - When the Google account selector appears, instead of picking an existing account, select "Add another account".
- Complete the Android system's native verification (fingerprint/PIN).
- Enter the new account credentials.
- The Android system displays a native "Terms and Conditions" / "Google Play Services" acceptance screen.
- After accepting, instead of redirecting back to the app/Cognito, the browser displays a Google 401 error.
Observations
- The issue does not happen if an existing account from the list is selected.
- The issue does not happen on iOS.
- Other providers (Microsoft, Apple) work perfectly.
- The redirected URL in the browser shows
authuser=unknown, suggesting the session context is lost when the Android System Assistant takes over the UI focus.
Error URL (Redacted)
https://accounts.google.com/signin/oauth/consent?authuser=unknown&part=...&flowName=GeneralOAuthFlow&client_id=REDACTED.apps.googleusercontent.com&requestPath=%2Fsignin%2Foauth%2Fconsent#
Code Snippet
const socialConfig = {
serviceConfiguration: {
authorizationEndpoint: `https://${COGNITO_URL}/oauth2/authorize`,
tokenEndpoint: `https://${COGNITO_URL}/oauth2/token`,
},
clientId: CLIENT_ID,
redirectUrl: REDIRECT_URL,
scopes: ['email', 'openid', 'profile'],
additionalParameters: {
identity_provider: 'Google',
prompt: 'select_account',
},
usePKCE: true,
};
const result = await authorize(socialConfig);Environment
- Identity Provider:
Cognito - Platform experiencing the issue on:
Android - React Native Version:
0.83.1 - react-native-app-auth Version:
8.1.0 - Platform: Android (tested on API 36)
- Device: Physical device with Google Sync active.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels