Add a module to hook up with 3rd party services for login.
The basic flow should be:

  1. Reach a point where login is needed
  2. Offer to register directly to site or via FB, twitter etc.
  3. Grab as many possible details about the user to pre-fill it's profile

After testing connector module, Oauth, and some other, I would like to test Hybridauth module and see if it answers our needs.

Comments

Jonas Bärtsch’s picture

Assigned: Unassigned » Raphael Dürst
Raphael Dürst’s picture

I just tested the HybridAuth module.

Pros:

  • A lot of supported 3rd party services (Facebook, Twitter, Google, LinkedIn, Github, etc)
  • Different account settings for users created with HybridAuth (e.g. no email verification)
  • Automatically grabs user data from 3rd party service (user picture, name, city)
  • Rules integration (e.g. to assign grabbed values to user fields)

Cons:

  • The license of the HybridAuth library is apparently not compatible with the GPLv2 license. Though, there is an issue in the packaging whitelist queue.

I suggest we move forward with this module. It seems to cover all the needs described in the issue summary.

Raphael Dürst’s picture

I added the HybridAuth module to the drupal-org.make file and comitted it.

Here is a quick guide how to install and configure the module:

  1. Download the HybridAuth library and extract it to sites/all/libraries/hybridauth (or profiles/idea/libraries/hybridauth)
  2. Enable the module
  3. Go to admin/config/people/hybridauth and enable all authentication providers you whish to use
  4. Click on the "Settings" link for every enabled provider and add the authentication keys supplied by the provider
  5. Go to the "Account settings" tab, set "Who can register accounts?" to "Visitors" and "E-mail verification" to "Don't require e-mail verification"
  6. Go to the "Other settings" tab and set "Duplicate emails" to "Don't allow duplicate email addresses, add new identity to the existing account and login"
  7. To automatically assign values from a service to user fields, create a rule using the event "User registered through HybridAuth" and set the data values
z.stolar’s picture

Great!
Maybe add these instructions to README?

Raphael Dürst’s picture

Sure. Which README, though?

Should I just create a README for the installation profile and add it there?

Also, I thought we could add some default settings to the idea.install file, for example:

// Default settings for HybridAuth.
variable_set('hybridauth_duplicate_emails', '2');
variable_set('hybridauth_email_verification', '2');
variable_set('hybridauth_register', '1');
variable_set('hybridauth_registration_username_change', '1');
variable_set('hybridauth_required_fields', array(
  'email' => 'email',
  'firstName' => 'firstName',
  'lastName' => 'lastName',
  'gender' => 'gender',
));
Jonas Bärtsch’s picture

I think it makes sense to have a space to collect idea manager configuration instructions. Hence we could make one README for the distro and have an idea manager config section. Once the admin pages are ready we can me the instructions there. So next steps, create a README in the root of the profile and link to it on the d.o project page.

Raphael Dürst’s picture

Status: Active » Needs review

Added the default settings I posted above to idea.install:
http://drupalcode.org/project/idea.git/commit/74d8d3f137588c16749d9a3fa1...

And added a README.txt containing the instructions for HybridAuth.
We can use this file also for other instructions and link it on the project page.
http://drupalcode.org/project/idea.git/blob_plain/refs/heads/7.x-2.x:/RE...

Raphael Dürst’s picture

Status: Needs review » Fixed

Marking issue as fixed, but created a follow-up for the library:
#2168825: Add HybridAuth library to makefile when whitelisted

z.stolar’s picture

Well done!

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.

mubiesam’s picture

did not find this module HybridAuth in Pantheon version (idea-7.x-1.0-beta7)...

Will you update on Pantheon or Any suggestion how can we upgrade from 1.0 to 2.0...

Thanks,

z.stolar’s picture

@mubiesam, let's keep the Pantheon compatibility here: #2353165: Drupal core update on Pantheon