Este é um projeto Node.js utilizando Express para autenticação com o LinkedIn via OAuth 2.0 e para consumo da API da plataforma. Ele permite autenticação de usuários, consulta de perfil, postagens (UGC Posts
) e compartilhamentos (Shares
).
- express – Framework para servidor HTTP
- passport – Middleware de autenticação
- passport-linkedin-oauth2 – Estratégia do LinkedIn para Passport
- express-session – Gerenciamento de sessão
- axios – Cliente HTTP para chamadas à API do LinkedIn
- dotenv – Carregamento de variáveis de ambiente
- Clone o repositório:
git clone https://github.com/henriquerodrigues-dev/linkedIn-api.git cd linkedIn-api
- Instale as dependências:
npm install
- Crie um arquivo
.env
com as seguintes variáveis:
LINKEDIN_CLIENT_ID=SuaClientIdAqui LINKEDIN_CLIENT_SECRET=SeuClientSecretAqui CALLBACK_URL=http://localhost:3000/auth/linkedin/callback SESSION_SECRET=uma_chave_secreta
- Inicie o servidor:
node app.js
Método | Rota | Descrição |
---|---|---|
GET | / | Página com listagem de rotas |
GET | /auth/linkedin | Inicia login com o LinkedIn |
GET | /auth/linkedin/callback | Callback após autorização |
GET | /profile | Retorna dados do perfil autenticado |
GET | /profileSummary | Retorna nome, título e foto do perfil |
GET | /getPosts | Retorna os posts (UGC Posts) do usuário |
GET | /allPosts | Retorna todos os compartilhamentos (Shares) |
- As chaves de API (Client ID e Secret) não devem ser expostas. Mantenha o arquivo
.env
fora do versionamento (.gitignore
). - A API do LinkedIn exige permissões específicas para acessar alguns dados. Verifique se sua aplicação foi aprovada e tem os escopos corretos.
Feito por Henrique Rodrigues