Authentication Through LinkedIn

Overview

One of the login options for dex uses the LinkedIn OAuth2 flow to identify the end user through their LinkedIn account.

When a client redeems a refresh token through dex, dex will re-query LinkedIn to update user information in the ID Token. To do this, dex stores a readonly LinkedIn access token in its backing datastore. Users that reject dex’s access through LinkedIn will also revoke all dex clients which authenticated them through LinkedIn.

Configuration

Register a new application via My Apps -> Create Application ensuring the callback URL is (dex issuer)/callback. For example if dex is listening at the non-root path https://auth.example.com/dex the callback would be https://auth.example.com/dex/callback.

The following is an example of a configuration for examples/config-dev.yaml:

  1. connectors:
  2. - type: linkedin
  3. # Required field for connector id.
  4. id: linkedin
  5. # Required field for connector name.
  6. name: LinkedIn
  7. config:
  8. # Credentials can be string literals or pulled from the environment.
  9. clientID: $LINKEDIN_APPLICATION_ID
  10. clientSecret: $LINKEDIN_CLIENT_SECRET
  11. redirectURI: http://127.0.0.1:5556/dex/callback