npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@titanium/googlesignin

v1.0.44

Published

⭐ Axway Amplify module for using Google Sign-in with Appcelerator Titanium SDK Framework

Downloads

48

Readme

👉    A group of Axway employees, ex-Axway employees, and some developers from Titanium community have created a legal org and now officially decide all matters related to future of these products.

API FAQ:

 

Click to watch on Youtube

  ↑ Watch video on YouTube ↑

 

@titanium/googlesignin

@titanium/googlesignin Dependabot Status

📝 Description

Native modules that allows you to use the Google Sign-in SDK with Axway Titanium native mobile apps.

This is a repackaging of the compiled iOS module for ti.googlesignin to allow for installation via npm.

🚀 Getting Started

Install @titanium/googlesignin in root of project

npm install @titanium/googlesignin

Add required properties to iOS plist in tiapp.xml

<ti:app xmlns:ti="http://ti.appcelerator.org">
	<ios>
		<plist>
			<key>CFBundleURLTypes</key>
			<array>
				<dict>
					<key>CFBundleTypeRole</key>
					<string>Editor</string>
					<key>CFBundleURLName</key>
					<string>google</string>
					<key>CFBundleURLSchemes</key>
					<array>
						<!-- Example: com.googleusercontent.apps.123456789-xxxxxxxx -->
						<string>YOUR_REVERSE_CLIENT_ID</string>
					</array>
				</dict>
			</array>
		</plist>
	</ios>
</ti:app>

✨Features

  • [x] Includes Titanium native iOS module: ti.googlesignin 3.0.0

Requirements

Example

This module was designed to follow a similar scheme like Ti.Facebook and Ti.GoogleSignIn.

const google = require('ti.googlesignin');

google.initialize({
	clientID: 'xxxxxxxx-123456789.apps.googleusercontent.com',

    // Optional properties:
    serverClientID: '<server-client-id>',
    scopes: ['https://www.googleapis.com/auth/plus.login'], // See https://developers.google.com/identity/protocols/googlescopes for more
    language: 'de', // Or 'de-DE', 'en-US', etc.
    loginHint: 'Titanium rocks!',
    hostedDomain: 'https://my-hosted-domain.com',
    shouldFetchBasicProfile: false, // Default: true
	openIDRealm: 'my-openID-realm',
});

google.addEventListener('login', e => {
	if (!e.success) {
		Ti.API.error(`Cannot login to Google: ${e.error}`);
		return;
	}

	const result = e.user;
	console.info('Logged in to Google!');
	// Do something with user result
});

google.addEventListener('logout', e => {
	console.info('Google Logged out / disconnected!');
});

// sign in
google.signIn();

// sign out
if (google.hasAuthInKeychain()) {
	google.disconnect();
}

APIs

Methods

  • [x] signIn()
  • [x] signInSilently()
  • [x] signOut()
  • [x] disconnect()
  • [x] hasAuthInKeychain -> Boolean
  • [x] currentUserImageURLWithSize(size) -> String

Properties

  • [x] language (String, get|set)
  • [x] currentUser (Dictionary, get)
    • id (String)
    • scopes (Array)
    • serverAuthCode (String)
    • hostedDomain (String)
    • profile (Dictionary)
      • name (String)
      • givenName (String)
      • familyName (String)
      • email (String)
      • hasImage (Boolean)
    • authentication (Dictionary)
      • clientID (String)
      • accessToken (String)
      • accessTokenExpirationDate (Date)
      • refreshToken (String)
      • idToken (String)
      • idTokenExpirationDate (Date)

Events

  • [x] login
  • [x] logout
  • [x] cancel
  • [x] load
  • [x] open
  • [x] close

The login- and logout events include a success flag as well as a user key that includes the following user-infos:

id, scopes, serverAuthCode, hostedDomain, profile, authentication

License

Apache 2.0

Authors

Hans Knöchel

📚Learn More

ti.googlesignin GitHub Repo - Repo for original ti.googlesignin module

📣 Feedback

Have an idea or a comment? Join in the conversation here!

©️ Legal

Modules are licensed under Apache 2.0 from https://github.com/appcelerator-modules/titanium-googlesignin

Alloy is developed by Appcelerator and the community and is Copyright © 2012-Present by Appcelerator, Inc. All Rights Reserved.

Alloy is made available under the Apache Public License, version 2. See their license file for more information.

Appcelerator is a registered trademark of Appcelerator, Inc. Titanium is a registered trademark of Appcelerator, Inc. Please see the LEGAL information about using trademarks, privacy policy, terms of usage and other legal information at http://www.appcelerator.com/legal.