A number of cases have arisen in which an external application needs to access user data in Synapse.
Use cases:
1) OneMind Portal
The OneMind Portal is a web-based aggregator of applications, one of which is Synapse. One goal is single-sign-on, such that users can sign on with any of a variety of web-based identities, and automatically be signed on to each of the aggregated applications. The OneMind Portal uses Janrain, which allows users to sign-on with any of Google, LinkedIn, Twitter, etc., and to "link" their accounts together so that, for example, logging in with Twitter causes them to also be logged in to LinkedIn and Google. The missing piece is to allow a OneMind Portal user to "link" their Synapse account, so that logging in with Janrain causes them to be logged into Synapse.
2) IBM whole cell parameter estimation challenge
(Need to add description.)
3) Shiny integration
Shiny is a web-based generator of web-viewable R content, e.g. interactive graphs. Synapse allows Shiny content to be embedded in its web UI. To generate content, an Shiny app may need to access data which is private to a user. So the Shiny app needs a way to be authorized to access the relevant user data, without having all of the user's authority. This is a classic OAuth scenario.
4) Fred's use case
In this case a computational model may run on private data and therefore needs a user to grant access to said data. (Need more detail here.)