Google Identity Toolkit (GITkit) helps relying party (RP) websites to support federated login easily (http://code.google.com/apis/identitytoolkit).

This is the GITkit plugin for Drupal to help website owners to integrate GITkit into their websites. It provides an Account Chooser widget, which allows users to login with their email address and password, and would like to replace that password with federated login. It currently supports Google mail, Hotmail, Yahoo! mail, AOL mail, and Google Apps mail but more identity providers will be added in the future.

git Access: git clone --branch 7.x-1.x http://git.drupal.org/sandbox/easyrp/1357838.git google_identity_toolkit
git clone --branch 6.x-1.x http://git.drupal.org/sandbox/easyrp/1357838.git google_identity_toolkit

project page: project page

Comments

patrickd’s picture

Assigned: easyrp » Unassigned
Status: Needs review » Needs work

This review was too large, to paste it in here ;-)
I'll attach it as file, on next comment.

patrickd’s picture

StatusFileSize
new795.62 KB

Here it goes:

easyrp’s picture

Thank you, have been standardized for the Drupal code has been adjusted, you can try again

easyrp’s picture

Thank you, have been standardized for the Drupal code has been adjusted, you can try again

patrickd’s picture

the automated review does not show many faults anymore, but your still working in the master branch!
See here: http://ventral.org/pareview/httpgitdrupalorgsandboxeasyrp1357838git

Also remember to change back the status to 'needs review' after you think you fixed all issues

easyrp’s picture

Status: Needs work » Needs review

1 Fixed http://ventral.org/pareview/httpgitdrupalorgsandboxeasyrp1357838git reported non-standard code of Drupal
2 Create a 7.x-1.x branch version

anil614sagar’s picture

Dear Moderator,

Marking this project as duplicate of http://drupal.org/project/gconnect . D7 port is on the way for gconnect module & committed to git repository

http://drupal.org/node/1355236

Cheers,
Anil Sagar

easyrp’s picture

StatusFileSize
new227.87 KB

This plug-in is different from http://drupal.org/project/gconnect
1 We use this plug-in Google Identity Toolkit is the latest version of the plug-in not only be able to use Gmail Federated login, can use Yahoo mail, Hotmail, AOLmail Federated login, and in our traditional plug-in enables the user's login.
2 This plug-in supports multi-language version, currently supports English, French, Simplified Chinese, Traditional Chinese, Japanese, Korean and so on ...
3 Future versions will support our joint facebook login

We hope to publish our Drupal plugin, thanks

google identity toolkit diff gconnect

anil614sagar’s picture

Dear Moderator,

Gconnect module does use same API (Google Identity Toolkit API.). It's just matter of time we are going to have additional features like

  • Options to choose different service providers.
  • Options to choose language.
  • Options to choose popup skins.
  • Options to choose different GoogleIdentityToolKit Widgets like accountchooser, account tabs etc.

Benefits of using Gconnect module over sandbox project above.

  • Compatibility with D6.
  • Register Using Gconnect Plugin.
  • Sponsored by SourceN Inc and Actively maintained.
  • Ability to restrict certain domain names within Gmail service. Let's say if administrator want to allow only @standford.edu who uses Gmail as e-mail.

We are using this module in one of our own project and will be maintained actively in future.

Cheers,
Anil Sagar,
Sr. Drupal Developer,
SourceN,
www.sourcen.com

easyrp’s picture

Google Identity Toolkit module is developed by Google's lead, for some special reason can not google website statement, we will maintain this plugin.
Google Identity Toolkit module sync to maintain complete and http://code.google.com/apis/identitytoolkit/
This plug-in only supports Openid protocol, also supports OAuth, OAuth2 protocol.
We very much hope that the "Google Identity Toolkit" released in the form of a Drupal module out

easyrp’s picture

Status: Needs work » Needs review

We have "opencart", "wordpress" published in the same plug-in, so it hopes to publish the same in Drupal plugin.
Can click on the link below to see here:
Opencart
Wordpress

So we very much hope to publish Google Identity Toolkit for Drupal!
Thanks!

easyrp’s picture

Status: Needs review » Needs work

Dear Moderator,
The extended release of the Google Identity Toolkit product improvement is important, hope allows us to publish!
Thanks!

FranciscoLuz’s picture

Status: Needs review » Reviewed & tested by the community

Hi,

I couldn't get gconnect to work on D7 (haven't tried out the D6 version), apparently some hardcore coding tweaks needs to be done in order to get it going.
Google Identity Toolkit on the other hand just works smoothly and nicely.

I think @anil614sagar and @easyrp should team up and work together on a single project. My suggestion would be for Google Identity Toolkit to make its way to the Full Project main stream as it is functionally ahead of gconnect at the moment.

sourcen’s picture

Francisco Luz / Moderator,

We verified on D7 & tested before pushing to repository. I just verified module working with Fresh Drupal 7.10 instance after your comment. Without any changes to it, it works! Please post your specific issues to the gconnect issue queue here. http://drupal.org/project/issues/gconnect?status=All&categories=All

We are committed to release all the features mentioned in the project page http://drupal.org/project/gconnect end of this week for both Drupal 6 and Drupal 7 versions.

This module offers simplicity to the end user with a simple widget as it is now to Login Or Register using google and an additional option to use account chooser widget as shown in http://accountchooser.com/ by the end of this week.

Gconnect module has also been reviewed and approved by the Acquia dev team...

FranciscoLuz’s picture

@sourcen #14

Hi mate,

Thank you for the clarifications.
I noticed that instructions for installing gconnect on D7 has been added in the project's main page overnight. So my issue was probably because I was following the D6 instructions. I will give it a go again later on today.

Thanks again,

FranciscoLuz’s picture

Issue summary: View changes

Description modified in the wrong place

raynimmo’s picture

Status: Reviewed & tested by the community » Needs work

@FranciscoLuz , dont you think you were a bit too eager to RTBC this? It hasnt even been thoroughly reviewed yet by anyone and has only had automated reviews performed on it.

The current implementation of the online PAReview check is showing a number of errors/warnings, see the current report at http://ventral.org/pareview/httpgitdrupalorgsandboxeasyrp1357838git-7x-1x

Make sure to set this back to 'needs review' once you have addressed the issues highlighted here.

It would also be advantageous to yourself and future reviewers is you used the online review tool at http://ventral.org/pareview/ and posted the results back here after your next commit.

FranciscoLuz’s picture

@raynimmo

dont you think you were a bit too eager to RTBC this?

No, actually I don't. I just wasn't too familiar with ventral.

Thank you for the heads up. ;)

easyrp’s picture

Status: Needs work » Needs review

Thanks, the current http://ventral.org/pareview/ report warnings and errors have been revised.

FranciscoLuz’s picture

Status: Needs review » Reviewed & tested by the community

Hi,

I have been using this module for a couple of weeks now on the website of the company I work for ( http://www.hmcservicos.com.br/pt-br ) .

I have posted a couple of patches for small feature requests (see the issue tracker for this module at http://drupal.org/project/issues/1357838 ), which are all already committed, and everything seems to be working just great.

The maintainer has promptly fixed all the code inconsistencies pointed out by the fellow reviewers above and I should add that this module is a must have set of functionality for the Drupal community.

Considering all that, I am setting the status to RTBC but if anyone has a different felling about this please let us know.

Thank you,

jthorson’s picture

Status: Reviewed & tested by the community » Needs review

A few comments:

1. Description says this is the "plugin for Drupal 7.x", but the repository also includes a 6.x branch ... Please consider updating the module description on the project page.

2. hook_enable(), hook_disable(): I *think* that the standard is to put the database changes and variable_del calls in hook_install() and hook_uninstall() instead of enable/disable; so that users can disable the module without losing any existing module configuration ... and need to explicitly 'uninstall' the module if they want to blow away the module-specific settings.

3. Links in t() function calls: Please use placeholders for your links, as illustrated at http://drupal.org/node/322774 ... this will allow the links to be updated if they change in the future, without requiring the same change be made to every single translation file which may have since been created.

4. t() calls in module.install files: the t() function is not available during certain parts of the drupal install cycle, so you may need to use the st() function instead ... details as to when are at http://drupal.org/node/322731

5. variable name prefixing: It appears that you've used 'git' as the prefix for your module's variables ... due to the possibility of namespace conflicts with the 'git' versioning system used by Drupal, and to avoid confusion, I'd likely recommend the variable prefixes be changed to the full 'google_identity_toolkit' module name prefix instead of just 'git'.

6. "Git Language" admin setting: Just a suggestion, but could this setting be taken from the Drupal installation default?

7. drupal_add_js in forms: Consider using the $form['#attached'] FAPI element, instead of drupal_add_js(). (Details at http://api.drupal.org/api/drupal/developer--topics--forms_api_reference....) ... I'm also not quite clear on what the .admin.inc javascript is trying to accomplish, and it seems there should be a more efficient way of doing it (though admittedly, I didn't dig very deep).

8. Bootstrap calls in included files: Are you sure you need to manually bootstrap Drupal? In what case would any of this code run outside of Drupal (generally, Drupal bootstraps itself before executing any module code).

9. Direct use of $_GET and $_POST values without sanitization: Your module references $_GET and $_POST values directly, and does not run them through Drupal's sanitization functions (such as check_plain, filter_xss, or filter_xss_admin). Looking at the handler class, it does not appear to have any input sanitization functionality of it's own, either. This can open up the *potential* for some pretty major security vulnerabilities. (I didn't dig deep enough to identify any specific vulnerability, but the lack of sanitization makes me pretty nervous!)

10. GitCallbackHandler contains a require_once 'autoload.php' line, but the autoload.php file is empty ... is there a reason you include an empty file?

Admittedly, this module goes a bit deeper into Drupal Core than I am familiar with, but there is enough here that makes me uncomfortable that I'm going to recommend that this be reviewed by a member of the security team (or at least someone with more in-depth knowledge of the core registration/login processes) before marking it RTBC.

easyrp’s picture

@jthorson,
Thank you for your comments, your feedback helps us have a very big present you these views jueda.
1 has modified the project description.
2 has been fixed.
3 has been fixed.
4 has been fixed.
5 has been fixed.
6 maintain the status quo, the current language can be automatically identified by browser language, the administrator can set a fixed, we think that the user the flexibility to better use.
7 maintain the status quo. This method relies on $ form references, some hook methods can not be used, such as hook_init, there is the javascript inline type can not be used, so we use the drupal_add_js this method.
8 maintain the status quo. This ensures Google Identity Toolkit lib for php integrity and future upgrades easy.
9 has been amended to increase the security filter.
10 has been fixed.

klausi’s picture

Status: Needs review » Needs work

manual reviewof the 7.x-1.x branch:

  • git folder appears to be 3rd party code. 3rd party code is not generally allowed on Drupal.org and should be deleted. This policy is described in the getting involved handbook. It also appears in the terms and conditions you agreed to when you signed up for Git access, which you may want to re-read, to be sure you're not violating other terms. The Libraries API module is a recommended method for adding 3rd party dependencies without directly including the code on Drupal.org.
  • google_identity_toolkit_enable(): doc block is wrong.
  • google_identity_toolkit_enable(): you should use db_add_field() and db_field_exists(). And this should only be done in hook_install().
  • "if (!function_exists('curl_version')) {"; if you require cURL you should implement hook_requirements() like here http://api.drupal.org/api/drupal/modules--simpletest--simpletest.install...
  • google_identity_toolkit_disable(): empty function, so remove it.
  • google_identity_toolkit.module: do not globally require your library, only in the functions where you actually need it. Otherwise the code is loaded on literally every page request which is bad for performance.

Get a review bonus and we will come back to your application sooner.

easyrp’s picture

Status: Needs work » Needs review

Most problems have been revised
Git directory is because the current use of all of the "Google Identity Toolkit client library" a unified approach, we will try to avoid this problem.

FranciscoLuz’s picture

@easyrp

I've submitted some patches at http://drupal.org/node/1424812 in order to comply with the issue raised by klausi regarded to 3rd party code being hosted here at drupal.org.

Please check that out and please let me know if you got any question.

Cheers,

FranciscoLuz’s picture

Status: Needs review » Needs work
easyrp’s picture

@FranciscoLuz
Thank you very much, you are really great.
We registered a GitHub account "easyrpadmin".

easyrp’s picture

Status: Needs work » Needs review

1.has been submitted in order to comply with as a third-party code hosting problems in drupal.org klausi proposed.
2.Increase the coverage of the configuration of the global registration authority.
3.Add support for non-Email Login.

easyrp’s picture

Status: Needs review » Needs work
easyrp’s picture

Status: Needs work » Needs review
sourcen’s picture

Hi All,

The GConnect module has been updated with the latest and most of what has been discussed here is now part of it.
http://drupal.org/project/gconnect

More exiting features coming soon...

Thanks

anil614sagar’s picture

Hi All,

This project is Duplicate of http://drupal.org/project/gconnect. Gconnect project is posted much earlier than sandbox project.

Gconnect http://drupal.org/project/gconnect module has following benefits compared to the sandbox project.

  • Support for 6.x version
  • 92 Active Users who are already using module..
  • Gives Ability to restrict or allow specific email addresses by domain names.
  • Ability to enable / disable support for other providers like AOL, Yahoo, Hotmail.
  • Maintained by SourceN actively.

Features that will be added very soon

  • Ability to choose different widgets like account chooser in future along with current importer widget...
  • Options to choose language.
  • Options to choose popup skins using custom css.

Please mark this sandbox project as Duplicate. We welcome easyrp to submit patches to current gconnect module if he is willing to contribute any features.

Cheers,
Anil Sagar

prashantgoel’s picture

Status: Needs review » Needs work

Review of the 7.x-1.x branch:

This automated report was generated with PAReview.sh, your friendly project application review script. You can also use the online version to check your project. Get a review bonus and we will come back to your application sooner.


FILE: ...al-7-pareview/sites/all/modules/pareview_temp/test_candidate/README.txt
--------------------------------------------------------------------------------
FOUND 0 ERROR(S) AND 2 WARNING(S) AFFECTING 2 LINE(S)
--------------------------------------------------------------------------------
 34 | WARNING | Line exceeds 80 characters; contains 130 characters
 36 | WARNING | Line exceeds 80 characters; contains 87 characters
--------------------------------------------------------------------------------


FILE: .../modules/pareview_temp/test_candidate/google_identity_toolkit.admin.inc
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
 77 | ERROR | If the line declaring an array spans longer than 80 characters,
    |       | each element should be broken into its own line
--------------------------------------------------------------------------------


FILE: ...ll/modules/pareview_temp/test_candidate/google_identity_toolkit.install
--------------------------------------------------------------------------------
FOUND 1 ERROR(S) AFFECTING 1 LINE(S)
--------------------------------------------------------------------------------
 12 | ERROR | If the line declaring an array spans longer than 80 characters,
    |       | each element should be broken into its own line
--------------------------------------------------------------------------------


FILE: ...all/modules/pareview_temp/test_candidate/google_identity_toolkit.module
--------------------------------------------------------------------------------
FOUND 2 ERROR(S) AFFECTING 2 LINE(S)
--------------------------------------------------------------------------------
  94 | ERROR | There must be a single space before an operator statement
 338 | ERROR | Additional blank line found at the end of doc comment
--------------------------------------------------------------------------------

Source: http://ventral.org/pareview - PAReview.sh online service

patrickd’s picture

Status: Needs work » Needs review

don't block deeper reviews because of these few minor issues found by automated tools

MrMaksimize’s picture

Hello easyrp

http://drupalcode.org/sandbox/easyrp/1357838.git/blob/refs/heads/7.x-1.x...
Looks like get_admin_js just returns a whole bunch of javascript. I think this should be in a separate .js file called by drupal_add_js

Empty description ran through t() function - http://drupalcode.org/sandbox/easyrp/1357838.git/blob/refs/heads/7.x-1.x.... Please add a description to this element.

Looks like hook_requirements doesn't deal with the library missing -

// Include the external library hosted at github.
https://github.com/drupalista-br/Drupal-Google-Identity-ToolKit.
include_once drupal_realpath(libraries_get_path('drupal_google_identity_toolkit')) . '/include_lib.inc';

Please review the drupal commenting standards - http://drupal.org/node/1354#general

The comments should all start with a capital letter and end with ? ! or .

SebCorbin’s picture

Status: Needs review » Needs work

Tagging as needing work

klausi’s picture

Status: Needs work » Closed (won't fix)

Closing due to lack of activity. Feel free to reopen if you are still working on this application.

gaurav.varshney’s picture

Priority: Normal » Critical
Status: Closed (won't fix) » Active
StatusFileSize
new142.7 KB

We are using gitkit since more than 10 months now in our site - oysterconnect.com

Everything was working fine till last evening. Today morning, all of a sudden, it stopped allowing our users to login.
When we click on Gmail / Yahoo / Hotmail, it shows us a popup - "Connecting to Server...", but it never goes off and nothing happens further.

Analyzing deeply into it, when I click on Gmail icon, a network request goes to GET proxy.html, which comes back with Status = 200
But there is a javascript error thrown in proxy.html file called "Uncaught Error : Bad hint"

Attached is the screenshot. Please confirm and help us resolve this asap.

patrickd’s picture

Priority: Critical » Normal
Status: Active » Closed (fixed)

*this* issue is a *closed* *project application*

this is not the place to report problems.

please read how to report bugs and use the projects issue queue to do so

re closing

patrickd’s picture

Issue summary: View changes

Added Google Identity toolkit for D6 version