Skip to end of metadata
Go to start of metadata

The instructions on this page describe how to configure OAuth for an application link. OAuth authentication allows a web application to share data/resources with any other OAuth-compliant external application, and is the protocol we recommend for application links.

You can configure:

  • outgoing authentication (authentication of requests sent from this application to a linked application), and/or 
  • incoming authentication (authentication of requests coming from a linked application into this application).

A typical scenario is setting up an application link between two applications that trust each other, do not share the same set of users and both applications have the application links plugin installed. In this case, you would configure OAuth for both outgoing authentication and incoming authentication. See Configuring Authentication for an Application Link for other scenarios and 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.

On this page:

  • 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 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 the application) in addition to configuring the outgoing/incoming authentication for the application link (as described below).

Configuring outgoing OAuth authentication will allow your application to access data in a remote application on behalf of a user (i.e. allow this application to access specified functions in the remote application).

To configure OAuth authentication for an outgoing application link:

  1. Log in as a system administrator and go to the administration page. Click Application Links in the administration menu. The 'Configure Application Links' page will appear, showing the application links that have been set up.
  2. Click the 'Edit' link next to the application link that you want to configure OAuth for.
  3. Click the 'Outgoing Authentication' tab. The outgoing authentication page will be displayed.
  4. Click the 'OAuth' tab.
  5. If you are not currently logged in to the remote application (or you logged in to the remote application under a variant of the application's hostname, such as the IP address), a login dialogue will display.
    • Enter the 'Username' and 'Password' for the remote server, not your local server, and click the 'Login' button. The remote server needs to learn the identity of your local server for the OAuth protocol to work and your admin credentials are used to store your local server's public key on the remote server. If you are already logged into your remote server, then the appropriate changes can be made without having to log in again.
  6. Click the 'Enable' button to enable OAuth authentication for the outgoing link. 

Configuring incoming OAuth authentication will allow the remote application that you are linking to, to access data in your application on behalf of its users.

To configure OAuth authentication for an incoming application link:

  1. Log in as a system administrator and go to the administration page. Click Application Links in the administration menu. The 'Configure Application Links' page will appear, showing the application links that have been set up.
  2. Click the 'Edit' link next to the application link that you want to configure OAuth for.
  3. Click the 'Incoming Authentication' tab. The incoming authentication page will be displayed.
  4. Click the 'OAuth' tab.
  5. Click the 'Enable' button to enable OAuth authentication for the incoming link. 

Configuring Basic HTTP Authentication for an Application Link
Configuring Trusted Applications Authentication for an Application Link

  • No labels

5 Comments

  1. The application links dialog has a 'Use 2-legged OAuth' checkbox, with a help icon which links here, but there is no mention of 2 legged OAuth on this page.

  2. Anonymous

    I do agree with comment above... totally no information about this here but it's direct page from the link (big grin) NIAH NIAH NIAH

  3. +1 for 2 Legged authentication info!

  4. Anonymous

    +1 for Tom Davies' comment about 2-legged authentication!!!

  5. Anonymous

    +1 for Tom Davies' comment about 2-legged authentication?