Configuring OAuth Authentication for an Application Link
The instructions on this page describe how to configure OAuth for outgoing authentication and/or incoming authentication of an application link.
OAuth is a protocol that allows a web application to share data/resources with any other OAuth-compliant external application. These external applications could be another web application (such as a Confluence installation or an iGoogle home page), a desktop application or a mobile device application, provided that they are accessible from within your network or available on the Internet.
For example, you could set up an application link between JIRA and an iGoogle page using OAuth authentication. This would allow you to view data from your JIRA server in a JIRA gadget on the iGoogle page.
If you were setting up an application link between two trusted applications which do not share the same set of users (and both applications have the Application Links plugin installed), you would typically configure OAuth for both outgoing authentication and incoming authentication. See Configuring Authentication for an Application Link for other configurations.
Key OAuth Terminology
- Service provider — An application that shares ('provides') its resources.
- Consumer — An application that accesses ('consumes') a service provider's resources.
- User — An individual who has an account with the Service Provider.
For more information about OAuth, see Configuring OAuth as well as the OAuth specification.
On this page:
Before You Begin
- Adding an OAuth consumer requires the transmission of sensitive data. To prevent 'man-in-the-middle' attacks, it is recommended that you use SSL for your applications while configuring OAuth authentication.
- Do not link to an application using OAuth authentication, unless you trust all code in the application to behave itself at all times. OAuth consumers are a potential security risk to the applications that they are linked to because of the ability to impersonate users. If your server is compromised, the data there and on linked servers is at risk.
- New application links now use OAuth by default and enable both 3-legged OAuth (3LO) and 2-legged OAuth (2LO).
- When updating older application links (that perhaps used Trusted Apps authentication) to use OAuth, 3LO is enabled by default, but you need to explicitly enable 2LO using the Allow 2-legged OAuth check box in the application link configuration settings.
- Only use the 2LO with impersonation option in the application link configuration settings if your servers both have the same set of users and the servers fully trust each other.
- The instructions assume that both of the applications that you are linking have the Application Links plugin installed. If the remote application that you are linking to supports OAuth, but does not have the Application Links plugin installed, you will need to configure OAuth from within the remote application (see the relevant administrator's documentation for that application) in addition to configuring the outgoing/incoming authentication for the application link (as described below).
- You must be a JIRA system administrator to configure OAuth authentication for an application link.
Configuring OAuth for Outgoing Authentication
Configuring outgoing OAuth authentication will allow JIRA to access specific functions and data on a remote application, on behalf of any registered user of that remote application.
To configure OAuth authentication for an outgoing application link:
- Log in as a system administrator and go to the administration page. Click Application Links in the administration menu. You'll see a list of the application links that have already been set up.
- Click Edit for the application link that you want to configure OAuth.
- Click the Outgoing Authentication tab, then the OAuth tab.
- Log in to the remote application, if necessary, using credentials for the remote server. The remote server accesses and stores your local server's public key.
- Click Enable to enable OAuth authentication for the outgoing link.
Configuring OAuth for Incoming Authentication
Configuring incoming OAuth authentication will allow the remote application that you are linking to, to access specific functions and data in JIRA on behalf of any JIRA user.
To configure OAuth authentication for an incoming application link:
- Log in as a system administrator and go to the administration page. Click Application Links in the administration menu. You'll see a list of the application links that have already been set up.
- Click Edit for the application link that you want to configure OAuth for.
- Click the Incoming Authentication tab, then the OAuth tab.
- Click Enable to enable OAuth authentication for the incoming link.
Notes
See Bitbucket: Atlassian 3-legged OAuth Example for some examples.
Related Topics
Configuring Basic HTTP Authentication for an Application Link
Configuring Trusted Applications Authentication for an Application Link