cordova-plugin-google-auth
v1.0.1
Published
Cordova bridge for Sign in with Google using Android Credential Manager with a legacy compatibility fallback.
Downloads
312
Maintainers
Readme
cordova-plugin-google-auth
Cordova Android bridge for Sign in with Google. It requests an ID token through Android Credential Manager and falls back to the legacy Google Sign-In account chooser when Credential Manager or its Play Services provider cannot supply a credential. User cancellation does not trigger the fallback.
Requirements
- Cordova 11 and cordova-android 11 or newer
- Android
compileSdk34 or newer - Android API 19 or newer at runtime
- A Google OAuth Web client ID to use as the ID token audience
Installation
From npm:
cordova plugin add cordova-plugin-google-authOr directly from GitHub:
cordova plugin add https://github.com/andreszs/cordova-plugin-google-auth.gitUsage
GoogleAuth.login({
serverClientId: 'WEB_CLIENT_ID.apps.googleusercontent.com'
}, function (credential) {
// Send credential.idToken to your backend for verification.
console.log(credential.email, credential.displayName);
}, function (error) {
// Handle cancellation or a diagnostic sign-in error.
console.warn(error);
});The success result contains idToken, email, and displayName. Verify the ID token on your backend, including its audience and issuer, before treating the user as signed in. The Web client ID is public configuration; never embed a Google client secret in the app.
The plugin disables automatic selection and allows all Google accounts configured on the device, so Android presents its account chooser. Before the legacy fallback, it clears the app's cached Google Sign-In selection to show the chooser again.
Errors include CANCELED, MISSING_SERVER_CLIENT_ID, LOGIN_IN_PROGRESS, MISSING_ID_TOKEN, INVALID_GOOGLE_CREDENTIAL, and diagnostic errors returned by Credential Manager or legacy Google Sign-In.
The after_prepare hook removes an obsolete kotlin-android-extensions line from the generated Android app's build.gradle when that line is present. The hook does not modify application source files.
