Dockstore: Tolerate sam failure for my-workflows

Created on 12 Jul 2018  路  5Comments  路  Source: dockstore/dockstore

Bug Report

Expected behaviour

If SAM is down or giving back 401s, you should still be able to see your own content.

Actual behaviour

https://staging.dockstore.org/api/workflows/shared dies with a 401
This seems to kill https://staging.dockstore.org/api/users/3/workflows from the client side (I see a 499 on the webservice) and then you can't see your own content.

Relevant errors

webservice_1     | ERROR [2018-07-12 20:42:31,269] io.dockstore.webservice.permissions.sam.SamPermissionsImpl: Error getting shared workflows
webservice_1     | ! io.swagger.sam.client.ApiException: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
webservice_1     | ! <html><head>
webservice_1     | ! <title>401 Unauthorized</title>
webservice_1     | ! </head><body>
webservice_1     | ! <h1>Unauthorized</h1>
webservice_1     | ! <p>This server could not verify that you
webservice_1     | ! are authorized to access the document
webservice_1     | ! requested.  Either you supplied the wrong
webservice_1     | ! credentials (e.g., bad password), or your
webservice_1     | ! browser doesn't understand how to supply
webservice_1     | ! the credentials required.</p>
webservice_1     | ! <hr>
webservice_1     | ! <address>Apache Server at sam.dsde-staging.broadinstitute.org Port 443</address>
webservice_1     | ! </body></html>
webservice_1     | ! 
webservice_1     | ! at io.swagger.sam.client.ApiClient.invokeAPI(ApiClient.java:737)
webservice_1     | ! at io.swagger.sam.client.api.ResourcesApi.listResourcesAndPolicies(ResourcesApi.java:391)
webservice_1     | ! at io.dockstore.webservice.permissions.sam.SamPermissionsImpl.workflowsSharedWithUser(SamPermissionsImpl.java:116)
webservice_1     | ! at io.dockstore.webservice.resources.WorkflowResource.sharedWorkflows(WorkflowResource.java:725)

鈹咺ssue is synchronized with this Jira Bug
鈹咺ssue Type: Bug
鈹哠print: Backlog
鈹咺ssue Number: DOCK-42

bug gui web-service

All 5 comments

Are you logged in with Google?

In hindsight, I think I may have only fixed the case where SAM is wired up but you are not logged in with Google.

I seem to get the same behaviour with both login methods

I was wondering if you get it if your account is not linked to Google. Regardless, I will investigate.

I think there are two issues here:

  1. The shared flows endpoint should return an empty response instead of a 401 if the user has not registered with SAM (working on that one).
  2. I think the client side should handle this more gracefully, although if this is the only case where this happens, then maybe it's not that urgent. I had already logged that as #1588 .

Logged out of all google accounts, deleted my tokens, seems functional as of
DockstoreAPI - 1.5.0-alpha.7
DockstoreUI - 2.2.0-alpha.5

on staging

Was this page helpful?
0 / 5 - 0 ratings