I am using rpx to let users login with Flickr (Yahoo!) account.
New users are being redirected to rpx/token_handler where they get the following error: "The website encountered an unexpected error. Please try again later".
Location: http://xxx.com/rpx/token_handler?destination=xxx
Message:
PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'name': INSERT INTO {users} (uid, name, pass, mail, theme, signature, signature_format, created, access, login, status, timezone, language, picture, init, data) 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, :db_insert_placeholder_15); Array ( [:db_insert_placeholder_0] => 104 [: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] => 0 [:db_insert_placeholder_8] => 0 [:db_insert_placeholder_9] => 0 [:db_insert_placeholder_10] => 0 [:db_insert_placeholder_11] => [:db_insert_placeholder_12] => [:db_insert_placeholder_13] => 0 [:db_insert_placeholder_14] => [:db_insert_placeholder_15] => b:0; ) in drupal_write_record() (line 7013 of /var/www/html/runmemo/runmemo-website/includes/common.inc).
Also I am don't want users to get administrator's approval (set up using user_registrationpassword module). It seems that RPX manages to overwrite those settings and does not activate the user.
| Comment | File | Size | Author |
|---|---|---|---|
| rpx-error-token-handler.jpg | 41.87 KB | bulat |
Comments
Comment #1
bulat commentedThe problem was that we had user_save() in form_submit callback, which would try to create user with the same username again.
I could not figure out how to use user_save() correctly, so had to implement a workaround, that fixed the error.