Closed TomScarboroughYMCA closed 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", }
Jira ticket located here: https://openy.atlassian.net/browse/PRODDEV-464
@kairamkondarajesh This PR didn't pass, are you still working on this?
cc @TomScarboroughYMCA
@kairamkondarajesh are you still working on this issue? cc @TomScarboroughYMCA
@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.
@TomScarboroughYMCA this has been through testing and QA. It will be included in the 1.6.1 release later in December 2021.
Thank you!!
**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.