capacitor-plugin-google-auth
v1.1.1
Published
Google Auth plugin for capacitor.
Downloads
2
Maintainers
Readme
CapacitorGoogleAuth
Capacitor plugin for Google Auth.
Install
1. Install package
npm i --save capacitor-plugin-google-auth
# or for Capacitor 2.x.x
npm i --save [email protected]
2. Update capacitor deps
npx cap update
3. Migrate from 2 to 3 version
if your migrate from Capacitor 2 to Capacitor 3 see instruction for migrate plugin to new version
Usage
for capacitor 2.x.x use instruction
WEB
Add clientId
meta tag to head.
<meta name="google-signin-client-id" content="{your client id here}">
Add scope
meta tag to head.
<meta name="google-signin-client-scope" content="profile email https://www.googleapis.com/auth/contacts.readonly">
Register plugin and manually initialize
import { GoogleAuth } from 'capacitor-plugin-google-auth';
GoogleAuth.init()
Use it
GoogleAuth.signIn()
AngularFire2
async googleSignIn() {
let googleUser = await Plugins.GoogleAuth.signIn();
const credential = auth.GoogleAuthProvider.credential(googleUser.authentication.idToken);
return this.afAuth.auth.signInAndRetrieveDataWithCredential(credential);
}
Vue 3
// App.vue
import { defineComponent, onMounted } from 'vue'
import { GoogleAuth } from 'capacitor-plugin-google-auth'
export default defineComponent({
setup() {
onMounted(() => {
GoogleAuth.init()
})
const logIn = async () => {
const response = await GoogleAuth.signIn()
console.log(response)
}
return {
logIn
}
}
})
iOS
Make sure you have GoogleService-Info.plist
with CLIENT_ID
Add REVERSED_CLIENT_ID
as url scheme to Info.plist
Android
Inside your strings.xml
<resources>
<string name="server_client_id">Your Web Client Key</string>
</resources>
Import package inside your MainActivity
import com.codetrixstudio.capacitor.GoogleAuth.GoogleAuth;
Register plugin inside your MainActivity.onCreate
this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
add(GoogleAuth.class);
}});
Configure
Provide configuration in root capacitor.config.json
{
"plugins": {
"GoogleAuth": {
"scopes": ["profile", "email"],
"serverClientId": "xxxxxx-xxxxxxxxxxxxxxxxxx.apps.googleusercontent.com",
"forceCodeForRefreshToken" : true
}
}
}
Note : forceCodeForRefreshToken
force user to select email address to regenerate AuthCode used to get a valid refreshtoken (work on iOS and Android) (This is used for offline access and serverside handling)
Migration guide
Migrate from 2 to 3
After migrate to Capcitor 3 updating you projects, see diff:
WEB
- import "capacitor-plugin-google-auth";
- import { Plugins } from '@capacitor/core';
+ import { GoogleAuth } from 'capacitor-plugin-google-auth';
- Plugins.GoogleAuth.signIn();
+ GoogleAuth.init()
+ GoogleAuth.signIn()
Forked from CodetrixStudio/CapacitorGoogleAuth