ymcatwincities / openy_gated_content

Virtual YMCA
https://openy.org
GNU General Public License v3.0
5 stars 28 forks source link

Virtual Y: With Y-USA Provider, members with same first name and last name cannot authenticate with barcode #163

Closed TomScarboroughYMCA closed 2 years ago

TomScarboroughYMCA commented 2 years ago

**Note: Y-USA is actively looking into this issue.

Repro Steps

Using the example situation from Salesforce support ticket 00138120 from YMCA of South Hampton Roads, when a Virtual Y site uses Y-USA Provider, and they have multiple members with the same first and last names, only one of those members will get authenticated to the Virtual Y. The others will see a generic error at login, and the logged error will be a SQL data integrity error.

YMCA of South Hampton Roads Virtual Y: https://ymcashr.y.org/

In Nationwide Membership, there are 3 Mary Bennetts:

Logged detail from my 10:25am CT login attempt with barcode 5577444:

Drupal\Core\Database\IntegrityConstraintViolationException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Mary Bennett-en' for key 'user__name': INSERT INTO {users_field_data} (uid, langcode, preferred_langcode, preferred_admin_langcode, name, pass, mail, timezone, status, created, changed, access, login, init, default_langcode) VALUES (:db_insert_placeholder_0, :db_insert_placeholder_1, :db_insert_placeholder_2, :db_insert_placeholder_3, :db_insert_placeholder_4, :db_insert_placeholder_5, :db_insert_placeholder_6, :db_insert_placeholder_7, :db_insert_placeholder_8, :db_insert_placeholder_9, :db_insert_placeholder_10, :db_insert_placeholder_11, :db_insert_placeholder_12, :db_insert_placeholder_13, :db_insert_placeholder_14); Array ( [:db_insert_placeholder_0] => 3873 [:db_insert_placeholder_1] => en [:db_insert_placeholder_2] => en [:db_insert_placeholder_3] => [:db_insert_placeholder_4] => Mary Bennett [:db_insert_placeholder_5] => $S$EmnJS9Orfmmw8T80MF1wPNdMR4OKM42XkbpgfPnA8RnY5qtKB2kT [:db_insert_placeholder_6] => Mc58bennett@gmail.com [:db_insert_placeholder_7] => [:db_insert_placeholder_8] => 1 [:db_insert_placeholder_9] => 1634138736 [:db_insert_placeholder_10] => 1634138736 [:db_insert_placeholder_11] => 0 [:db_insert_placeholder_12] => 0 [:db_insert_placeholder_13] => [:db_insert_placeholder_14] => 1 ) in Drupal\Core\Database\Connection->handleQueryException() (line 698 of /var/aegir/platforms/vy_ycloud_0.12.1/docroot/core/lib/Drupal/Core/Database/Connection.php).

Expected Behavior

Actual Behavior

Acceptance Criteria

Every distinct barcode belongs to a different member, and all members should be able to log into the Virtual Y site.

Barcode Use Case

When user has provided their Barcode on the Virtual Y Login landing page as their credential to enter the site, the barcode value must be passed to the Nationwide Membership authentication API as input. The unique username in the Virtual Y system (viewable in the People tab admin area) must then be 'y-usa' + barcode.

Membership ID Use Case

When user has provided their Membership ID on the Virtual Y Login landing page as their credential to enter the site, the membership ID value must be passed to the Nationwide Membership authentication API as input. The unique username in the Virtual Y system (viewable in the People tab admin area) must then be 'y-usa' + membership ID.

TomScarboroughYMCA commented 2 years ago

Test data expanded:

{ "Barcode": "5252083", "Email": "pmarebear67@hotmail.com", "FirstName": "Mary", "LastName": "Bennett", } { "Barcode": "5577444", "Email": "Mc58bennett@gmail.com", "FirstName": "Mary", "LastName": "Bennett", } { "Barcode": "30044273809", "Email": "ghill7107@yahoo.com", "FirstName": "Mary", "LastName": "Bennett", }

shelleygoetz commented 2 years ago

Jira ticket located here: https://openy.atlassian.net/browse/PRODDEV-464

KylieAldridge commented 2 years ago

@kairamkondarajesh This PR didn't pass, are you still working on this?

cc @TomScarboroughYMCA

sarah-halby commented 2 years ago

@kairamkondarajesh are you still working on this issue? cc @TomScarboroughYMCA

kairamkondarajesh commented 2 years ago

@sarah-halby I am just trying to configure the Y-USA auth settings. I will let you once I configured the Y-USA auth settings.

sarah-halby commented 2 years ago

@TomScarboroughYMCA this has been through testing and QA. It will be included in the 1.6.1 release later in December 2021.

TomScarboroughYMCA commented 2 years ago

Thank you!!