Note: You are currently viewing documentation for Moodle 4.0. Up-to-date documentation for the latest stable version of Moodle may be available here: OAuth 2 LinkedIn service.

OAuth 2 LinkedIn service

From MoodleDocs

LinkedIn setup

To setup an OAuth 2 client with LinkedIn, first we need to login to the LinkedIn Developers page and create a new app.

On the 'Create an app' page, fill in the required fields:

  • App name
  • LinkedIn Page - The page that this app will be associated with
  • App Logo

linkedin app creation.png

After you're done creating the app, you will be redirected to a screen where you can manage various settings related to the app.

Permissions / Scope requirements

For the client to function properly, it needs to be granted permissions to retrieve information from a user. LinkedIn does this easily by defining 'Products' that an app can be associated with. Each product defines the various use case that the API can be used for. For Moodle purposes, we only require the 'Sign In with LinkedIn' product.

Go to the Products tab and select the 'Sign In with LinkedIn' product

linkedin products prior selection.png

The product will be marked as 'Review in progress' and will take a few minutes to be approved. Once done, the product will be listed in the app's 'Added products' section.

linkedin added products.png

Client settings

Once the product have been successfully added, go to the 'Auth' tab. Here you will find the Authentication keys required to setup your issuer in Moodle. You will have to setup the authorised redirect URLs as is standard for OAuth2.

linkedin auth page.png

You will also find the OAuth2 scopes listed which was done as part of Scope requirements earlier.

linkedin scopes defined.png

Issuer configuration

Authentication via LinkedIn is now a preconfigured service available for administrators. Go to 'Site Admin -> Server -> OAuth2 services' and click on the LinkedIn button. All you need now is to enter and save the client id and secret and LinkedIn will now be an option for a user on the login page.

See also