Este documento descreve como integrar aplicações Java com o LinkedIn usando o framework Spring Social. Ele explica como configurar o Spring Social para autenticar usuários e acessar seus dados e contatos do LinkedIn de acordo com o protocolo OAuth. Além disso, fornece um exemplo passo a passo de como construir uma aplicação que se conecta ao LinkedIn usando essas bibliotecas.
Repensando o ESB: sua arquitetura SOA, usando APIs
Spring social
1. Pós – Graduação Engenharia de Software JEE -
Spring Social Integração com o Linkedin
2. Agenda:
• Introdução
• Objetivo
• Configuração
• Linkedin API
• Etapas Resumidas do OAuth
• Descrição do projeto
• Utilização
• Estudo de Caso
• Conclusão
3. Introdução:
• O Spring Social é uma nova extensão do Spring Framework que
facilita a integração entre aplicações Java e provedores SaaS,
abstraindo os detalhes dos protocolos de autenticação e de acesso e
oferecendo uma API Java por meio da qual as funcionalidades e
informações oferecidas pelo serviço podem ser acessadas.
• O SaaS é um conceito da computação em nuvem (cloud computing) e
consiste em um modelo de distribuição de software no qual as
informações (ex.: sua lista de amigos no Facebook, seus seguidores
no Twitter, seus contatos no Linkedin) e as funcionalidades (ex.: curtir
algo publicado por um amigo no Facebook, publicar um texto de até
140 caracteres no Twitter) são centralizadas (na “nuvem”) e podem ser
acessadas por diferentes clientes (chamados de thin clients ou
“clientes magros” por conterem somente a interface com o usuário).
4. Objetivo:
• O objetivo deste projeto é mostrar o Spring Social com
integração ao LinkedIn, através do provedor SaaS (Software as a
Service), em português, Software como um Serviço, com o
protocolo de autenticação e acesso OAuth (Open Autorizition). A
aplicação deverá acessar a conta do usuário, exibir o perfil e a
sua lista de contatos.
5. Configuração:
Módulos básicos do spring social obtidos no site:
http://mvnrepository.com/
Tabela 1. Módulos Spring Social
Nome Descrição
spring-social-core Suporte ao cliente do Spring Framework e OAuth.
spring-social-config Suporte de configuração Java e XML para o Spring Social.
spring-social-security
Apoio à integração Spring Security.
spring-social-web ConnectController do Spring Social, que utiliza um
Framework de conexão para gerenciar conexões em um
ambiente de aplicação web.
6. Dependências do projeto no pom.xml
<!-- Spring dependencies -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.social</groupId>
<artifactId>spring-social-core</artifactId>
<version>${spring-social.version}</version>
</dependency>
9. Linkedin API
Passos básicos necessários para obter alguns dados do LinkedIn.
• Solicite uma chave de API e chave secreta usando o seu perfil do
LinkedIn desta página: https://www.linkedin.com/secure/developer .
• Em seu aplicativo, redirecionar o usuário para a página de
autenticação e fornecer a sua chave API.
• O usuário autentica-se no site do LinkedIn.
• Se não for feito antes, o usuário precisa autorizar o aplicativo para
agir em nome dele.
• Usuário será redirecionado para o seu site com um token pedido e um
código de verificação.
• Obter um token de acesso usando o token de solicitação e o código
de verificação.
• Comece interagindo com linkedin usando sua chave api e o token de
acesso obtido.
10. Etapas Resumidas do OAuth:
Em resumo, no fluxo de Web Server, as etapas de alto nível são as
seguintes:
• O usuário se conecta a seu provedor de SaaS;
• Um código de autorização é enviado para seu aplicativo;
• O aplicativo usa o código de autorização para recuperar um token de
acesso;
• O token de acesso é usado para recuperar dados privados do usuário;
11. Descrição do projeto:
Vamos criar com o Spring social LinkedIn uma integração através do
provedor SaaS(Software-a-as-Service) com o protocolo de
autenticação OAuth (Open Autorizition) no qual pode se autenticar,
usando o serviço OAuth pela chave API e chave Secreta, obtendo o
acesso ao Token e o call-back, usando o OAuth e seus componentes
fornecidos pelo projeto Spring Social. Depois da autenticação será
possível exibir a lista de contatos e acessar o perfil do usuário.
12. Utilização:
Utilizando o provedor SaaS com o protocolo Oauth 2.0, com
módulo spring-social-core, conectando-se aos provedores de
serviços individuais que o spring fornece através de serviços
básicos.
13. Pontos Positivos e Negativos:
• Pontos Positivos: implementação livre, mais seguro pelo
protocolo OAuth 2.0 que é mais simples e fácil de utilizar e a
vantagem de um conjunto de outras comunidades conduzidas
por módulos.
• Pontos Negativos: o efeito estufa que o protocolo OAuth
permite.
14. Estudo de caso:
• Apresentar uma aplicação desenvolvida em Java usando o
framework Spring Social com Integração ao LinkedIn;
• Serão abordados o uso dos códigos, mostrando alguns
detalhes técnicos, sobre a tecnologia e padrões do Spring;
• Desenvolver uma aplicação, utilizando o provedor
SaaS(Software-as-a-Service) com o protocolo de
autenticação e acesso OAuth (Open Autorizition) no qual o
usuário poderá acessar dados de seu perfil e a sua lista de
contatos.
15. Conclusão:
O principal objetivo desse projeto foi apresentar o framework Spring
Social com integração ao LinkedIn através do provedor
SaaS(Software as a Service) com o protocolo de segurança OAuth
(Open Autorizition) com padrões básicos do Spring, mostrando
como é fácil a sua implementação e segura para os usuários se
autenticarem e permiti que sua aplicação possa ser vista por outras
aplicações.
Um último ponto para se observar aqui é que tudo isso acontece
usando SSL para garantir que as chaves, os segredos, os códigos
etc. estão escondidos de olhares indiscretos,garantindo assim a
privacidade do usuário.