Skip to content

VitaliyKim/nativescript-google-login

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nativescript Google Login

npm version NPM

Add Google SignIn to your Nativescript Application. This plugin provides an AuthCode for server-side authentication

It is inspired by the plugin nativescript-social-login

Works with Android X, iOS 13

Screenshots

Android

Screenshot of Android

iOS

Screenshot of Android

Dependencies

iOS

pod 'GoogleSignIn', '~> 5.0'

Android

implementation 'com.google.android.gms:play-services-auth:17.0.0'

Installation

tns plugin add nativescript-google-login

iOS

Get an OAuth client ID

Get an Oauth client id from the Google website

Info.plist

Add the following to your Info.plist file located in app/App_Resources/iOS

<key>CFBundleURLTypes</key>
<array>
	<dict>
		<key>CFBundleTypeRole</key>
		<string>Editor</string>
		<key>CFBundleURLSchemes</key>
		<array>
			<string>com.googleusercontent.apps.123123123-172648sdfsd76f8s7d6f8sd</string>
			<!-- It shoud look like this: com.googleusercontent.apps.123123123-172648sdfsd76f8s7d6f8sd -->
			<!-- Get it from your GoogleService-Info.plist -->
			<!-- Read more - https://developers.google.com/identity/sign-in/ios/start-integrating -->
		</array>
	</dict>
</array>

Usage

```javascript
import { Component, OnInit } from "@angular/core";
import { GoogleLogin } from 'nativescript-google-login';
import * as application from "tns-core-modules/application";
import { isIOS } from "tns-core-modules/platform/platform";


@Component({
    selector: "Home",
    moduleId: module.id,
    templateUrl: "./home.component.html"
})
export class HomeComponent implements OnInit {

    constructor() {
        // Use the component constructor to inject providers.
    }

    ngOnInit(): void {
        // Init your component properties here.

        if(isIOS){
            GoogleLogin.init({
                google: {
                    initialize: true,
                    serverClientId: "",
                    clientId: "",
                    isRequestAuthCode: true
                },
                viewController: application.ios.rootController
            });
    
        } else {
            GoogleLogin.init({
                google: {
                    initialize: true,
                    serverClientId: "",
                    clientId: "",
                    isRequestAuthCode: true
                },
                activity: application.android.foregroundActivity
            });
        }
        
        
    }

    login(): void {
        GoogleLogin.login(result=>{
            console.dir(result);
        });

    }
}

```

Result

```
    ==== object dump start ====
    authCode: 4/sQFws5V78SYGYHxhxxZcpfTUNdf4tzWNyWwTesopXrfTM1SH5txNoPkaQ11hTkXxw3IJqXQcBu5iT6zlPFm42qs
    code: 0
    displayName: Firstname Lastname
    photo: https://lh4.googleusercontent.com/-bxWt9qbfGOw/AAAAAAAAAAI/AAAAAAAAAAA/TkXxw3IJqXQcBu5iT61trzDOW8S1tcCYM4Q/s100/photo.jpg
    error: undefined
    id: 153078403269102635592
    userToken: [email protected]
    provider: google
    ==== object dump end ====
```

License

Apache License Version 2.0, January 2004

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 49.2%
  • TypeScript 47.1%
  • Shell 2.0%
  • CSS 1.2%
  • Other 0.5%