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
Comment #1
geokat commentedHow do I reproduce the first issue?
Comment #2
geokat commentedI 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
Comment #3
rwohlebIntegration 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".
Comment #4
kevinquillen commentedSubscribe.
Comment #5
funana commented+1
Comment #6
rafamd commentedYes 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 !
Comment #7
rafamd commentedHere'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.
Comment #8
nathancollins44 commentedYes!
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 !!!
Comment #9
BenK commentedHey 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
Comment #10
rafamd commentedAgree 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).
Comment #11
dqd+1!
Comment #12
jakonore commentedsub
Comment #13
RKS commentedI 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.
Comment #14
RKS commentedNow 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
Comment #15
rafamd commentedRE #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.