this is a breakout issue from #232467: OpenID logins broken when 'Allow users to login using their e-mail address' setting is enabled

it seems that users registering via openid don't get redirected to LT's 'Redirect path on Registration'.

i may mark this won't fix, as i'm not sure i want to try and support external logins for that setting -- but for now, let's explore it...

CommentFileSizeAuthor
#2 lt_redirect_override.patch3.53 KBhunmonk
Support from Acquia helps fund testing for Drupal Acquia logo

Comments

hunmonk’s picture

Status: Active » Postponed (maintainer needs more info)

well, i can't figure out how to register via openid -- i get 'email is required' errors. so if somebody can explain to me how to do it, then i'll give this bug a shot...

hunmonk’s picture

Project: LoginToboggan » Drupal core
Version: 6.x-1.x-dev » 6.x-dev
Component: Code » openid.module
Status: Postponed (maintainer needs more info) » Active
FileSize
3.53 KB

ok, this is a multitiered problem.

  1. the openid registration process includes a 'destination' parameter, so when the when the formAPI does it's redirect, the LT-provided destination is overridden by the value in the destination parameter. i've solved this issue in LT by add an 'Override destination paramter' setting, enabled by default (patch attached). this gives admins the option to allow LT to force it's redirect paths over a passed destination parameter, which solves this problem in a more general way.
  2. however, this fix only works in the case where the initial auto-registration fails, and the user is presented with a user registration form to complete their registration. this is because...
  3. the openid module doesn't handle auto-registration in what i would consider 'the Drupal way'. the code partially leverages FAPI, but then skips the submit step and instead saves the user account manually. this effectively locks out any kind of alternate workflow for user registration. LT can't do anything during the submit step (unless it hooked into the 'insert' op in hook_user(), but i think that's a bad approach)

IMO, this is a bug in the openid module, and the auto-registration code should be refactored to make full use of the FAPI workflow, instead of the half and half approach it uses currently.

hunmonk’s picture

Title: New OpenID users aren't redirected to the LoginToboggan landing page » OpenID doesn't properly leverage FAPI workflow for auto registrations

Status: Active » Closed (outdated)

Automatically closed because Drupal 6 is no longer supported. If the issue verifiably applies to later versions, please reopen with details and update the version.