https://dev.arvados.org/https://dev.arvados.org/favicon.ico?15576888422019-04-10T15:35:21ZArvadosArvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732082019-04-10T15:35:21ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Parent task</strong> deleted (<del><i>#15061</i></del>)</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732092019-04-10T15:35:42ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Tracker</strong> changed from <i>Task</i> to <i>Idea</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732102019-04-10T15:35:56ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Related to</strong> <i><a class="issue tracker-2 status-3 priority-4 priority-default closed parent" href="/issues/15061">Feature #15061</a>: Redirect users to log in with correct federated identity</i> added</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732122019-04-10T15:40:41ZEric Biagiotti
<ul><li><strong>Assigned To</strong> set to <i>Eric Biagiotti</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732142019-04-10T15:44:04ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/73214/diff?detail_id=70150">diff</a>)</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732162019-04-10T15:55:36ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/73216/diff?detail_id=70153">diff</a>)</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732362019-04-10T17:19:14ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>Some background on WB2:</p>
<p><a class="external" href="https://dev.arvados.org/projects/arvados/wiki/Hacking_Workbench2">https://dev.arvados.org/projects/arvados/wiki/Hacking_Workbench2</a></p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=732372019-04-10T17:20:32ZPeter Amstutzpeter.amstutz@curii.com
<ul><li><strong>Description</strong> updated (<a title="View differences" href="/journals/73237/diff?detail_id=70177">diff</a>)</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=734572019-04-19T15:27:28ZEric Biagiotti
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>In Progress</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=735952019-04-24T13:28:09ZEric Biagiotti
<ul><li><strong>Target version</strong> changed from <i>2019-04-24 Sprint</i> to <i>2019-05-08 Sprint</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=740322019-05-02T20:44:40ZEric Biagiotti
<ul></ul><p>Latest at 13700efea8cd742fbb4888252f3d06788f5fd845 in the workbench 2 repository. Adds functionality for linking accounts and some exceptions detailed below.</p>
Notes and Todos:
<ul>
<li>From some reason projects are inaccessible after linking an account. I need to investigate this further. In the mean time, you can refresh the page to see the projects. </li>
<li>Times in the link account UI are listed in local time. I will update this to be UTC.</li>
<li>Still need to write tests. </li>
<li>Doesn't look like I need to update any docs. <a class="external" href="https://doc.arvados.org/user/topics/link-accounts.html">https://doc.arvados.org/user/topics/link-accounts.html</a> is still accurate.</li>
</ul>
Test for typical use case:
<ul>
<li>Create 2 accounts. Log into A. Click "Add another login to this account". Log into B. Accept linking. Should be logged into A with a migrated project from B.</li>
<li>Same, but click "Use this login to access another account". Should be logged into B with a migrated project from A.</li>
</ul>
Tests for exceptions:
<ul>
<li>Create admin account A and non-admin account B. Log into B. Click "Use this login to access another account". Log into A. Should disallow.</li>
<li>Linking the same account should be disallowed.</li>
</ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=740412019-05-03T13:56:26ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><ul>
<li>The "account inactive" page needs to have an option to start account linking.</li>
<li>Link accounts on the user page should have button styling</li>
<li>I tried "use this log in to access another account" to link an active account to an inactive account (should not be allowed)
<ul>
<li>It takes me to the wb2 login page, instead of sending me directly to the API server login process</li>
<li>After logging in, instead of taking me to the link accounts page, I'm at the inactive user page (but not a page telling me the account linking is disallowed)</li>
<li>Then I logged out and logged in as a different user, and arrived at the link accounts page. Explicitly logging out should cancel the linking.</li>
</ul>
</li>
<li>I tried using "add another log in to this account" to add an inactive account to log in to the current account (should be allowed)
<ul>
<li>I logged in as inactive user</li>
<li>I arrived at the inactive user page instead of the links accounts page</li>
</ul>
</li>
<li>I tried "add another log in to this account" to add a login associated with an admin account to a non-admin account
<ul>
<li>It gave me the link account confirmation, but did not warn or give an error that by linking the admin account to the non-admin account, I would lose admin privileges</li>
</ul>
</li>
<li>I tried "use this login to access another account" to add it to an admin account
<ul>
<li>I got an error that I can't link admin account to non-admin account.</li>
</ul></li>
</ul>
<p>Seems like at minimum the logic that checks for linking admin / non-admin is flipped (it is ok to link a non-admin login to admin, but not the other way around.)</p>
<p>If I navigate away from the link accounts page, and then come back, the account linking is still active. It would probably be better if the user can't navigate (no left sidebar or top menu items) during account linking.</p>
<p>Regardless of how the user initiates link account, the current user account in the wb2 UI should be the target account (the one the secondary account will be redirected to after the user clicks "link").</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=741832019-05-07T17:56:52ZEric Biagiotti
<ul></ul><p>Latest at: bdfda992c607ed4ca591dbf310e659faa370a881 including the following work.</p>
<blockquote>
<p>Link accounts on the user page should have button styling</p>
</blockquote>
<p>Removed the link from the my-account page and added it to the Account Management drop down in dcab8d69b5fb93c025c49fd85bf39d038c4fb3d0</p>
<blockquote>
<p>Regardless of how the user initiates link account, the current user account in the wb2 UI should be the target account (the one the secondary account will be redirected to after the user clicks "link").</p>
<p>Seems like at minimum the logic that checks for linking admin / non-admin is flipped (it is ok to link a non-admin login to admin, but not the other way around.)</p>
</blockquote>
<p>Fixed in 2f857ebcd67a607b7fde9c0ea4808ac30c591876</p>
<blockquote>
<p>If I navigate away from the link accounts page, and then come back, the account linking is still active. It would probably be better if the user can't navigate (no left sidebar or top menu items) during account linking.</p>
</blockquote>
<p>Addressed in d329bdf89ea30acc0e9a95bcb7bc4338f8beeebb.<br />- Removes navigation after second login.<br />- Deletes link account session data if the user logs off.<br />- Second login goes directly to the arvados login.<br />- After the second login, a page reload or browser navigation cancels the link operation. This is necessary because if we are merging into the account we have stored in session data, once the user logs in the second time, we switch the account we are merging into. Subsequently, if the page is reloaded, the account in session storage is the same as the account we are logged into, which will result in a failed account link.</p>
<blockquote>
<p>The "account inactive" page needs to have an option to start account linking.</p>
</blockquote>
<p>Added in bdfda992c607ed4ca591dbf310e659faa370a881.</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=741942019-05-08T13:44:02ZEric Biagiotti
<ul><li><strong>Target version</strong> changed from <i>2019-05-08 Sprint</i> to <i>2019-05-22 Sprint</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=743192019-05-09T20:23:59ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>If the user is inactive and clicks "Link account" from the inactive user page it goes directly to the SSO server. It should go to the link accounts page and explain to the user what is about to happen (however the user only has the option "link login to another account").</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=743202019-05-09T20:35:26ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>If I select "Link account" and then "Add another login to this account" which takes me to the SSO server, then reconsider and hit the back button to go back to Workbench, I will be shown the wb2 login page but the browser URL will have the path "/link_account". Logging in again will take me to the link account confirmation/cancel page. This is confusing.</p>
<p>What I would expect to happen is the back button to take me back to the link account page I was just looking at.</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=743212019-05-09T21:25:32ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>Peter Amstutz wrote:</p>
<blockquote>
<p>If I select "Link account" and then "Add another login to this account" which takes me to the SSO server, then reconsider and hit the back button to go back to Workbench, I will be shown the wb2 login page but the browser URL will have the path "/link_account". Logging in again will take me to the link account confirmation/cancel page. This is confusing.</p>
<p>What I would expect to happen is the back button to take me back to the link account page I was just looking at.</p>
</blockquote>
<p>Looking at the code, this is happening because in startLinking() you call logout() and then login(). What happens if you don't call logout() ?</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=743582019-05-13T20:37:39ZEric Biagiotti
<ul></ul><p>Peter Amstutz wrote:</p>
<blockquote>
<p>If the user is inactive and clicks "Link account" from the inactive user page it goes directly to the SSO server. It should go to the link accounts page and explain to the user what is about to happen (however the user only has the option "link login to another account").</p>
</blockquote>
<blockquote>
<p>If I select "Link account" and then "Add another login to this account" which takes me to the SSO server, then reconsider and hit the back button to go back to Workbench, I will be shown the wb2 login page but the browser URL will have the path "/link_account". Logging in again will take me to the link account confirmation/cancel page. This is confusing.</p>
</blockquote>
<p>Addressed the above issues in e954cfb45dbe418c151144cc42847b848c9b0ebf.</p>
<p>I also played with keeping the top bar during the link operation, but I would have to disable pretty much everything on it, so I'm not sure there is any value in having it. For now I formatted the link page a little bit better instead, but let me know if you want the bar on top also.</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=743972019-05-14T19:40:07ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>The "cancelLinking" block "index.tsx" seems like it should go somewhere else (such as initAuth() in auth-action.ts) to minimize clutter in the top-level initializer for the application. It should call LinkAccountService.getAccountToLink() instead of calling sessionStorage.getItem() directly.</p>
<p>Otherwise I think this LGTM.</p> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=744942019-05-15T19:47:26ZEric Biagiotti
<ul><li><strong>Status</strong> changed from <i>In Progress</i> to <i>Resolved</i></li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=745092019-05-16T14:16:12ZEric Biagiotti
<ul><li><strong>Related to</strong> <i><a class="issue tracker-5 status-3 priority-4 priority-default closed child" href="/issues/15141">Task #15141</a>: Workbench2 updates</i> added</li></ul> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=745402019-05-17T20:30:24ZPeter Amstutzpeter.amstutz@curii.com
<ul></ul><p>Reload page bug:</p>
<ol>
<li>Log in as federated user</li>
<li>Select link accounts</li>
<li>Log in as local user</li>
<li>At the confirmation page, do a browser refresh</li>
<li>It will flicker the link accounts page as the original user, then render a page saying you can't link the user to the same user. It will offer a cancel button.</li>
<li>Pushing cancel returns you to workbench link_accounts page but it will be empty until you do another browser refresh.</li>
</ol> Arvados - Idea #15088: [Workbench2] Replicate Workbench1 merge account featurehttps://dev.arvados.org/issues/15088?journal_id=746852019-05-21T22:27:43ZTom Morristfmorris@veritasgenetics.com
<ul><li><strong>Release</strong> set to <i>15</i></li></ul>