OAuth 2 LinkedIn service
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
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
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.
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.
You will also find the OAuth2 scopes listed which was done as part of Scope requirements earlier.
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.