Page MenuHomePhabricator

Prevent duplicate account links from being created by swapping logins and then refreshing the link
ClosedPublic

Authored by epriestley on Oct 23 2015, 8:03 PM.
Tags
None
Referenced Files
F13059170: D14319.diff
Fri, Apr 19, 3:48 PM
Unknown Object (File)
Sat, Apr 13, 8:48 PM
Unknown Object (File)
Tue, Apr 9, 6:04 PM
Unknown Object (File)
Sun, Apr 7, 5:28 AM
Unknown Object (File)
Tue, Apr 2, 8:34 PM
Unknown Object (File)
Mon, Apr 1, 7:01 PM
Unknown Object (File)
Fri, Mar 29, 7:24 PM
Unknown Object (File)
Fri, Mar 29, 6:37 PM
Subscribers
None

Details

Summary

Fixes T6707. Users can currently do this:

  • Log in to a service (like Facebook or Google) with account "A".
  • Link their Phabricator account to that account.
  • Log out of Facebook, log back in with account "B".
  • Refresh the account link from SettingsExternal Accounts.

When they do this, we write a second account link (between their Phabricator account and account "B"). However, the rest of the codebase assumes accounts are singly-linked, so this breaks down elsewhere.

For now, decline to link the second account. We'll permit this some day, but need to do more work to allow it, and the need is very rare.

Test Plan
  • Followed the steps above, hit the new error.
  • Logged back in to the proper account and did a link refresh (which worked).

Screen Shot 2015-10-23 at 12.56.20 PM.png (885×890 px, 133 KB)

Diff Detail

Repository
rP Phabricator
Branch
dauth1
Lint
Lint Passed
Unit
Tests Passed
Build Status
Buildable 8379
Build 9619: Run Core Tests
Build 9618: arc lint + arc unit

Event Timeline

epriestley retitled this revision from to Prevent duplicate account links from being created by swapping logins and then refreshing the link.
epriestley updated this object.
epriestley edited the test plan for this revision. (Show Details)
epriestley added a reviewer: chad.
chad edited edge metadata.
This revision is now accepted and ready to land.Oct 23 2015, 8:37 PM
This revision was automatically updated to reflect the committed changes.