We would like to show external open social gadgets (from the tool we develop ourselves) on JIRA dashboards and Confluence pages. At the moment, these gadgets use OAuth authentication (configured via application link).
What bothers us is that each such gadget requires performing a separate authentication and granting permission. On the other hand we saw that if we add a JIRA as a trusted app to the Confluence and then add external opensocial gadgets to Confluence page then one doesn't need to perform an authentication for each gadget.
We are wondering if such behavior is achievable for custom (not Atlassian) products. We've found the following blog post series to be helpful: http://blogs.atlassian.com/developer/2011/06/unified_applinks_integration_without_the_hassle_-_part_1.html
But they don't say if external open social gadgets would work with such solution.
Questions:
Community moderators have prevented the ability to post new answers.
I have managed to create the following solution to avoid authentication of each individual external gadget which is included in JIRA dashboards or Confluence pages.
Using this solution from users perspective if they add several gadgets then they will need to authorize just the first one and the next will be authorized automatically. After 10 minutes since the last gadget was added if they will try to add new gadget then they will need to authorize it again. If you need more clarification about some step then please let me know :)
I implemented similar solution also for including my gadgets in Google Sites but there I was able to solve also my additional problem that I described in my first comment. Google Sites in OAuth header include also opensocial_app_id attribute which is unique ID for each gadget instance in particular page. Which means that I could implement that when I receive new OAuth request token request then I search if I have already access token created for this particular opensocial_app_id - if yes then I will return the same original access token that I already stored for this opensocial_app_id. Which means that if some Google Sites user created page and included my gadget and authorized it then he/she can share this page with others and all others will see page with gadget which will use original authorized access token.
In case of JIRA and Confluence unfortunately opensocial_app_id contains the same value as opensocial_app_url which is gadget specification XML URL. So unfortunately I cannot identify particular instance of gadget in JIRA dashboard or Confluence page.
So my question to Atlassian is would it be possible to change opensocial_app_id to be unique instance ID of gadget in particular page (like it is in case of Google Sites)? It would be very helpful to implement access token sharing also for JIRA dashboards and Confluence pages.
Found in OpenSocial Gadget spec that more correct approach would be to provide additional opensocial_instance_id OAuth header attribute which uniquely identifies gadget application instance http://opensocial-resources.googlecode.com/svn/spec/2.0.1/Core-Gadget.xml#SignedFetch
Would it be possible to add it to future JIRA/Confluence releases?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I am implementing similar external OpenSocial gadget as well which will publish content from external application using OAuth authentication. In my case I am wondering if it is possible that
Currently it seems that JIRA gadget container stores OAuth access tokens separately for each JIRA user and does not allow such OAuth access token sharing. Or are there any workaround how to achieve it?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.