ng2_g_signin 0.3.1

  • README.md
  • CHANGELOG.md
  • Installing
  • Versions
  • 64

ng2_g_signin

Google sign-in component for Angular2.

This package consists of

  • The dart interop code of Google Sign-In JavaScript client (using package:js).
  • Angular2 component to wrap the interop code.

Example site

https://ng2-g-signin-site.appspot.com/

Usage

Add this script tag below in the head tag of web/index.html

<script defer src="https://apis.google.com/js/platform.js"></script>

Import this in a component and add GoogleSignin on the directives.

import 'package:ng2_g_signin/ng2_g_signin.dart';

@Component(
    selector: 'app-component',
    templateUrl: 'template/app_component.html',
    directives: const [GoogleSignin]
)
class AppComponent {

  onGoogleSigninSuccess(GoogleSignInSuccess event) {
    GoogleUser googleUser = event.googleUser;
    String id = googleUser.getId();
    assert(googleUser.isSignedIn());
    BasicProfile profile = googleUser.getBasicProfile();
    print('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
    assert(profile.getId() == id);
    print('Name: ' + profile.getName());
    print('Image URL: ' + profile.getImageUrl());
    print('Email: ' + profile.getEmail());
    AuthResponse response = googleUser.getAuthResponse();
    print('id_token: ' + response.id_token);
    print('access_token: ' + response.access_token.toString());
    print('login_hint: ' + response.login_hint);
    print('scope: ' + response.scope.toString());
    print('expires_in: ' + response.expires_in.toString());
    print('first_issued_at: ' + response.first_issued_at.toString());
    print('expires_at: ' + response.expires_at.toString());
    GoogleAuth auth =  getAuthInstance();
    GoogleUser user = auth.currentUser.get();
    assert(user.hashCode == googleUser.hashCode);
  }
}

In a component template, put <google-signin> with attributes of render options and init params. clientId attribute is required. You don't need to write google-signin-client_id meta tag.

<google-signin
  clientId="..."
  width="240"
  theme="dark"
  scope="email profile"
  longTitle="true"
  (googleSigninSuccess)="onGgoogleSigninSuccess($event)">
</google-signin>

For more information about Google Sign-In JavaScript client, See https://developers.google.com/identity/sign-in/web/sign-in

Features and bugs

Please file feature requests and bugs at the issue tracker.

Changelog

0.3.1

  • Upgrade angular2 dep to ^2.0.0.
  • Avoid error on gapi.auth2.init with angular2 2.0.0 by adding a prefix.

0.3.0

  • Breaking Rename GSignin to GoogleSignin.
  • Change to ChangeDetectionStrategy.OnPush.
  • Add sign out example.
  • Clean up the e2e example.
  • Internal code clean up.

0.2.0+3

  • Clean up README.

0.2.0+2

  • Enable strong-mode analysis.
  • Move example site code to e2e_example/.

0.2.0+1

  • Update README.
  • Add the working example site instead of deleting example/.

0.2.0

  • Moved from angular2_google_signin to avoid potential package namespace collision.
  • Rename component's selector from google-siginin to g-sigin.

Use this package as a library

1. Depend on it

Add this to your package's pubspec.yaml file:


dependencies:
  ng2_g_signin: "^0.3.1"

2. Install it

You can install packages from the command line:

with pub:


$ pub get

Alternatively, your editor might support pub get. Check the docs for your editor to learn more.

3. Import it

Now in your Dart code, you can use:


      import 'package:ng2_g_signin/ng2_g_signin.dart';
  
Version Uploaded Documentation Archive
0.3.1 Nov 6, 2016 Go to the documentation of ng2_g_signin 0.3.1 Download ng2_g_signin 0.3.1 archive
0.3.0 Jun 13, 2016 Go to the documentation of ng2_g_signin 0.3.0 Download ng2_g_signin 0.3.0 archive
0.2.0+3 Jun 4, 2016 Go to the documentation of ng2_g_signin 0.2.0+3 Download ng2_g_signin 0.2.0+3 archive
0.2.0+2 Jun 4, 2016 Go to the documentation of ng2_g_signin 0.2.0+2 Download ng2_g_signin 0.2.0+2 archive
0.2.0+1 Mar 22, 2016 Go to the documentation of ng2_g_signin 0.2.0+1 Download ng2_g_signin 0.2.0+1 archive
0.2.0 Mar 22, 2016 Go to the documentation of ng2_g_signin 0.2.0 Download ng2_g_signin 0.2.0 archive

Analysis

We analyzed this package on Jun 19, 2018, and provided a score, details, and suggestions below. Analysis was completed with status completed using:

  • Dart: 2.0.0-dev.63.0
  • pana: 0.11.3

Scores

Popularity:
Describes how popular the package is relative to other packages. [more]
54 / 100
Health:
Code health derived from static analysis. [more]
99 / 100
Maintenance:
Reflects how tidy and up-to-date the package is. [more]
38 / 100
Overall score:
Weighted score of the above. [more]
64
Learn more about scoring.

Platforms

Detected platforms: web, other

Primary library: package:ng2_g_signin/ng2_g_signin.dart with components: js.

Suggestions

  • Package is getting outdated.

    The package was released 84 weeks ago.

  • The description is too short.

    Add more detail about the package, what it does and what is its target use case. Try to write at least 60 characters.

  • Package is pre-v1 release.

    While there is nothing inherently wrong with versions of 0.*.*, it usually means that the author is still experimenting with the general direction API.

  • Maintain an example.

    Create a short demo in the example/ directory to show how to use this package. Common file name patterns include: main.dart, example.dart or you could also use ng2_g_signin.dart.

  • Fix analysis and formatting issues.

    Analysis or formatting checks reported 2 hints.

    Run dartfmt to format lib/src/google_signin.dart.

    Run dartfmt to format lib/src/google_signin_js/gapi.dart.

  • Use analysis_options.yaml.

    Rename old .analysis_options file to analysis_options.yaml.

Dependencies

Package Constraint Resolved Available
Direct dependencies
Dart SDK >=1.19.1 <2.0.0
angular2 ^2.0.0 2.2.0 3.1.0+1
js ^0.6.0 0.6.1
Transitive dependencies
analyzer 0.29.5 0.32.1
args 0.13.7 1.4.3
async 1.13.3 2.0.7
barback 0.15.2+16
build 0.5.0 0.12.6
charcode 1.1.1
cli_util 0.1.3
code_transformers 0.5.1+5
collection 1.14.10
convert 2.0.1
crypto 2.0.5
csslib 0.14.4
dart_style 0.2.16 1.1.0
fixnum 0.10.7
glob 1.1.5
html 0.13.3+1
http_parser 3.1.2
intl 0.14.0 0.15.6
isolate 0.2.3 2.0.1
logging 0.11.3+1
meta 1.1.5
mime 0.9.6+1
observable 0.14.0+1 0.22.1+3
package_config 1.0.3
path 1.6.1
plugin 0.2.0+2
pool 1.3.5
protobuf 0.5.5 0.9.0
shelf 0.6.8 0.7.3+1
shelf_static 0.2.7+1
source_maps 0.10.5
source_span 1.4.0
stack_trace 1.9.2
stream_channel 1.6.7+1
string_scanner 1.0.2
typed_data 1.1.5
utf 0.9.0+4
watcher 0.9.7+8
yaml 2.1.14