Form appears with error message about wrong password instead of quiet registration with RPX for two reasons:
1) Required password field in core. Password will be auto-generated in submit, but validation fails and user have a registration form with error message about password. Solution is to remove "required" flag and hide password fields (so even if validation would fail for other reason, user wouldn't have to enter password). Add this code to the end of rpx_core_form_alter():

$form['account']['pass']['#access'] = FALSE;
$form['account']['pass']['#required'] = FALSE;

2) Additional validation from module LoginToboggan fails if you enable e-mail confirmation (second e-mail field) or disable verification by an e-mail. Because we don't need these two validation, just remove additional validation function from form. Add this code to the same function:

unset($form['#validate'][array_search('logintoboggan_user_register_validate', $form['#validate'])]);

It would be great to see both changes in next stable version.

Comments

geokat’s picture

How do I reproduce the first issue?

geokat’s picture

Title: Registration form appears because of failed password validation » Integration with LoginTobbogan
Version: 6.x-2.1-beta1 » 6.x-2.x-dev
Category: bug » feature
Status: Needs review » Active

I can't reproduce the first issue.

The second one is deeper: these two modules (Engage and LoginTobbogan) seem to be incompatible with each other. Changing it to a feature request.

Thanks,
George

rwohleb’s picture

Integration between the two modules would be very useful. For one, Logintobbogan lets you have a user set a password on registration and then get put into a special role until they validate their email address. If these two modules worked together, you could have all direct registrations get immediate limited access via logintobbogan (while waiting for email validation), and registrations through RPX (when validated email is present) can "skip directly to GO and collect 200 dollars".

kevinquillen’s picture

Subscribe.

funana’s picture

+1

rafamd’s picture

Yes I also agree that the functionality that logintoboggan provides is much better than drupal's default and thus integration with janrain would be really nice to have. LoginToboggan has more than 37k installs, so it's a very popular module.

We would need it for 7.x, but I guess that once the fix is sorted in 6.x it could be easily ported to 7.x.

George, congrats on the great module !

rafamd’s picture

Version: 7.x-2.x-dev » 6.x-2.x-dev

Here's a related issue for 1) over LoginToboggan queue #1070584: It would be useful to be able to disable password validation when using some external SSO providers (e.g. Janrain Engage). UPDATE: as per LoginToboggan's maintainer decision, we should fix this issue over here in Janrain Engage integration module.

nathancollins44’s picture

Version: 6.x-2.x-dev » 7.x-2.1

Yes!
We need Janrain Engage to work with Login Toboggan.

I am using D7 and the Janrain Engage (formerly RPX)7.x-2.1

I have created a new issue for D7 version of this RPX module
#1251370: We need Janrain Engage to work with Login Toboggan

"Janrain Engage Integration With Login Toboggan"
Lets get this show on the road !!!

BenK’s picture

Version: 7.x-2.1 » 7.x-2.x-dev

Hey George,

I think it's important that we have some support for Login Toboggan because so many Drupal sites use that module (40,000+). It would open up thousands of potential users. I don't think the two modules are incompatible.

I'm not sure about how to tackle issue 1) yet, but 2) should be very doable (the part about allowing for the second e-mail validation field). Why not just have a setting within Janrain Engage module that allows the e-mail address returned by Janrain to be submitted twice--once for the Drupal core e-mail field and once for the Login Toboggan e-mail confirmation field?

Thoughts?

--Ben

rafamd’s picture

Version: 6.x-2.x-dev » 7.x-2.x-dev

Agree with your proposed solution for 2). Maybe we don't even need an extra setting in Janrain Engage module, can't we just check if the e-mail confirmation field is present? (either by checking for the actual field in the form or logintoboggan's "Use two e-mail fields on registration form" setting).

dqd’s picture

+1!

jakonore’s picture

sub

RKS’s picture

I think it would be more useful for someone to create a Login Frame that all login type modules would build off of. Sort of like Voting API that all vote-type modules are dependent on.

It is true that LT is very popular and so it would be useful to integrate with the features it provides. I came here looking for answers on how to get these two modules to coexist on the same site.

But with that said, LightBox is installed on 91,000+ sites and it too provides login functions. So by the argument that LT is popular and thus Janrain needs to integrate with it are we going to say Janrain needs to integrate with LightBox as well? What other login modules will Janrain have to bend to accommodate?

If you find the task easy to implement I would be all for integrating with LT, after all, I need it too. But a login frame module would provide much more access to all modules, ensuring you don't have to accommodate anyone ever again and it would make upgrading in the future much easier to accomplish. However, if someone does build the frame, good luck getting modules like LT to comply. If anything, you could possibly look at using LT as the frame and talking him into setting up his module as such to allow other login modules to build from him and create a peaceful existence for all login functions.

RKS’s picture

Now that I said all that. Have we even compiled a list of things LT does that makes it incompatible with Janrain? So far I can see:

1) Set password options provided by LT
2) Validate email address provided by LT

rafamd’s picture

RE #13
Sounds great but shouldn't the effort on this be put in #783184: Add email validation to registration workflow ??

RE #14.
1) Set password options provided by LT: I think this problem happens also with core, when "e-mail validation is not required" and thus the two password fields (pass/confirm pass) show in the registration form, am I right ?

Another thing we should consider for the integration is what's mentioned in #3: When the user registers through Janrain, if he/she doesn't have a validated e-mail address he/she should be placed in the intermediate "pre authenticated" role while those that have one should be given the full authenticated role.