Creating a LinkedIn developer app allows you to integrate LinkedIn functionality into your own applications. With a LinkedIn developer app, you can leverage LinkedIn’s APIs and platform to provide features like login with LinkedIn, sharing content, retrieving profile data, and more.
To create a LinkedIn developer app, you’ll need to register as a LinkedIn developer, configure your app settings, and implement LinkedIn’s OAuth 2.0 authentication flow in your app. This process does involve some development work, so you’ll need some programming skills.
In this comprehensive guide, we’ll walk through the full process of creating a LinkedIn developer app from start to finish. We’ll cover:
- Registering as a LinkedIn developer
- Configuring LinkedIn app settings
- Understanding LinkedIn’s OAuth 2.0 authentication
- Implementing the OAuth flow in your app
- Testing your LinkedIn integration
- Submitting your app for review
By the end, you’ll have a fully-functioning LinkedIn developer app that’s ready to integrate LinkedIn data and functionality into your web or mobile applications.
Prerequisites
Before we dive in, there are a few prerequisites you’ll need:
- A LinkedIn account – You’ll need a LinkedIn profile to register as a developer.
- Basic programming skills – You’ll need to be able to write code in your language of choice to implement OAuth 2.0 and integrate LinkedIn APIs.
- A development environment – You’ll need tools like a text editor, IDE, and command line tools.
- A server or hosting platform – You’ll need somewhere to deploy your LinkedIn app.
As long as you meet these prerequisites, you’ll be ready to start building your LinkedIn developer app. Now let’s get started!
Step 1: Register as a LinkedIn Developer
The first step is to register as a LinkedIn developer. This gives you access to LinkedIn’s developer platform and APIs. Here’s how to register:
- Go to https://www.linkedin.com/developers/ and click Sign up.
- Sign in with your LinkedIn account credentials.
- Agree to LinkedIn’s API Terms of Use.
- Fill out your developer profile and click Submit.
Once your registration is approved by LinkedIn (usually within a day), you’ll have full access to LinkedIn’s developer platform and be ready to create your app!
Benefits of Registering
Here are some of the key benefits you gain by registering as a LinkedIn developer:
- Access to LinkedIn’s suite of APIs like Sign In with LinkedIn, Share API, Profile API, Jobs API, and more.
- Ability to create LinkedIn apps and products integrated with LinkedIn data.
- Publish your apps on LinkedIn’s app showcase.
- Participate in LinkedIn’s developer community and programs.
- Get support from LinkedIn’s developer support team.
- Early access to new LinkedIn developer features and products.
So in summary, registering as a developer is the key that unlocks LinkedIn’s APIs and platform for your own applications.
Step 2: Configure Your LinkedIn App Settings
Once you’re registered as a LinkedIn developer, the next step is to configure your app’s settings. Every LinkedIn app needs to be registered with LinkedIn to get API keys and OAuth credentials.
Here’s how to configure your LinkedIn app settings:
- Go to https://www.linkedin.com/developers/apps and click Create App.
- Enter your app name, description, logo, application url, and permissions.
- Agree to LinkedIn’s terms and click Submit.
- On the next screen, copy down your Client ID and Client Secret.
Your Client ID and Client Secret will be used later for authentication. Treat your Client Secret like a password and don’t share it publicly.
Some key points on configuring your app settings:
- Application URL – This is your website or app’s URL where users will be sent after authenticating.
- Default Scope – These are the LinkedIn APIs and permissions your app will be granted by default.
- OAuth 2.0 Redirect URLs – Your OAuth redirect URLs configured on LinkedIn must match what you’ve configured on your app for authentication to function.
With your app created, you’re ready start using LinkedIn’s APIs!
Step 3: Understand OAuth 2.0 Authentication
Now that your LinkedIn app is registered, let’s discuss how your app will authenticate with LinkedIn using the industry standard OAuth 2.0 protocol.
OAuth provides secure delegated access from your app to a LinkedIn member’s data without exposing their credentials. It works by establishing trust between your app, LinkedIn, and the member using tokens.
Here’s a simplified explanation of how OAuth works with LinkedIn:
- A member tries to sign in to your app using LinkedIn.
- Your app redirects the member to LinkedIn’s authorization server with your Client ID.
- The member logs in to LinkedIn and authorizes your app.
- LinkedIn’s server returns an authorization code to a redirect URL you specify.
- Your app exchanges the authorization code for an access token.
- Your app can use the access token to call LinkedIn APIs on behalf of the member.
The important details to note are:
- Your app exchanges an authorization code for an access token, rather than handling the member’s actual credentials.
- The access token provides temporary delegated access to that member’s LinkedIn data.
- Your app authenticates each member individually, rather than using one single credential.
This has the advantages of being more secure, compliant, and scalable than alternative authentication mechanisms.
Access Token Permissions
The access token your app receives contains your app’s authorized permissions for that member. For example, if your app only requests public profile permissions, that’s all the token will be authorized for.
To request additional permissions, you can configure those when the member authenticates your app through LinkedIn’s OAuth implementation.
Now let’s look at how to actually implement OAuth 2.0 in your app’s code.
Step 4: Implement OAuth 2.0 Authentication
You understand the OAuth 2.0 flow at a high level, but how do you actually implement it in your app?
The good news is LinkedIn provides client libraries and REST APIs to handle all the OAuth protocol details for you. You don’t have to build everything from scratch.
Here are examples of how to implement LinkedIn Login with OAuth using some popular platform SDKs:
JavaScript
“`js
// Initialize LinkedIn SDK
const linkedIn = LinkedIn.init({
clientId:
});
// Call LinkedIn Login API
linkedIn.login()
.then(token => {
// Use token to call LinkedIn APIs
})
.catch(error => {
// Handle errors
});
“`
Android
“`java
// Initialize LinkedIn SDK
LinkedInApiClient linkedInApiClient = new LinkedInApiClient(this,
// Start LinkedIn Login process
linkedInApiClient.authorize(this, permissions, new AuthListener() {
@Override
public void onAuthSuccess() {
// Get access token
String accessToken = linkedInApiClient.getAccessToken();
// Use token to call LinkedIn APIs
}
@Override
public void onAuthError(Throwable error) {
// Handle errors
}
});
“`
iOS Swift
“`swift
// Initialize LinkedIn SDK
let linkedIn = LinkedIn(clientId:
// Start LinkedIn Login process
linkedIn?.authorize(permissions: [ .basicProfile, .emailAddress ], viewController: self) { [weak self] (accessToken, error) in
if let error = error {
// Handle errors
return
}
if let accessToken = accessToken {
// Use access token to call LinkedIn APIs
}
}
“`
The docs for each library provide more details on initialization, customizing permissions, handling errors, and other functionality.
Server-side Flows
For server-side apps without a UI, you can implement the OAuth code grant flow directly using LinkedIn’s REST APIs:
- Redirect users to
/authorization
endpoint to generate an authorization code. - Exchange code for an access token using the
/accessToken
endpoint. - Use the access token to call LinkedIn APIs.
Refer to LinkedIn’s REST API reference for specifics on request parameters, headers, and responses.
So in summary, LinkedIn makes it relatively straightforward to implement OAuth 2.0 in your platform and language of choice. The hardest part is already done for you behind the scenes.
Step 5: Test Your LinkedIn Integration
Once you’ve implemented OAuth authentication, the next step is to test your LinkedIn integration. Here are some tips for testing effectively:
- Try logging in with test accounts to confirm you can get valid access tokens.
- Make API calls with the test access tokens to verify you can retrieve profile data.
- Check that your app’s scopes, redirect URIs, and client IDs match LinkedIn’s configurations.
- Test connectivity from devices and networks outside your local environment.
- Validate that expired tokens automatically refresh using refresh tokens.
- Handle cases like users revoking access to your app on LinkedIn.
- Stress test with multiple concurrent users if applicable.
Build out test cases that cover both happy paths and error conditions:
- Happy paths – Successful login, API calls return expected data, permissions are enforced, etc.
- Error conditions – Invalid credentials, network failures, unsupported scopes, revoked OAuth access, etc.
Automated testing and monitoring with tools like Selenium can help cover more scenarios faster.
Take the time to thoroughly test your integration. It will pay dividends down the road in terms of stability, robustness, and confidence in your LinkedIn integration.
Step 6: Submit Your App for Review
After you’ve built and tested your LinkedIn integration, the final step is submitting your app for LinkedIn’s review and approval. Here’s what to expect during the review process:
LinkedIn App Review
All apps must pass LinkedIn’s review before being listed publicly on LinkedIn or being promoted through LinkedIn Marketing Solutions. Here are some key things LinkedIn evaluates during review:
- App stability, performance, security
- Compliance with LinkedIn’s API terms
- Whether the app provides value to LinkedIn members
- Whether the app enhances the LinkedIn platform and ecosystem
Review Checklist
To ensure the best chance of passing review, double check that your app:
- Has polished UI and UX.
- Uses permissions appropriately.
- Handles errors and edge cases gracefully.
- Provides value to LinkedIn members and partners.
- Complies with LinkedIn’s API terms and policies.
Promoting Your App
Once approved, there are several ways you can promote your app to LinkedIn members:
- Publish your app on LinkedIn’s app showcase.
- Add the LinkedIn app badges to your website and marketing.
- Promote through LinkedIn’s Marketing Solutions like Sponsored Content.
- Promote to your own members and users.
By passing LinkedIn’s review, you validate the quality of your app and build trust with LinkedIn members. This improves your ability to gain users and scale on the LinkedIn platform.
Conclusion
That wraps up this comprehensive guide on creating a LinkedIn developer app! Here are the key steps we covered:
- Register as a LinkedIn developer.
- Configure your LinkedIn app settings.
- Understand OAuth 2.0 authentication.
- Implement OAuth in your app’s code.
- Thoroughly test your LinkedIn integration.
- Submit your app for LinkedIn’s review.
Following these steps will enable you to securely integrate LinkedIn data and sign in capabilities into your own apps and websites.
The possibilities are endless once you can leverage the LinkedIn platform. You can create apps for recruiting, sales lead generation, analytics, influencer marketing, and much more.
Hopefully this gives you the knowledge and confidence to get started integrating with LinkedIn. The developer documentation provides plenty of additional examples and API references to build on this foundation.
Good luck and happy coding! Let me know if you have any other questions.