Implementação OAuth

3 respostas Resolvido
webjava
V

Bem pessoal.

Estou com um projeto que fornece recursos web service, só que qualquer pessoa que acessa a URL tem acesso aos dados, estou querendo implementar o OAuth para que apenas consumidores com uma certeza ‘credencial’ tenham acesso aos recursos.

Alguém conhece algum tutorial de implementação do OAuth1.0 ou OAuth2.0 ?

Ou um framework que funcione da mesma forma que o OAuth, fornecendo um token de acesso ?

3 Respostas

P

tipo isso?

A
Solucao aceita

Olá @valternegreiros.

Pelo que percebi, nesse momento você tem a necessidade de autenticar um consumidor (vamos chamar esse consumidor de client), ok?

Algo muito importante a ser notado é que não parece estar se tratando de um cenário de delegação de identidade, ou seja, cenário onde um usuário autoriza o uso de seus recursos para uma outra aplicação. No caso que você citou, uma aplicação irá acessar recursos em benefício próprio. Outro ponto interessante é que o OAuth 2.0 é um framework de autorização conforme pode ser visto na RFC-6749.

Partindo desses princípios, talvez utilizar OAuth não seja a solução mais indicada.

O framework OAuth 2.0 até disponibiliza um fluxo para obtenção de access_token conhecido como Grant Type client_credentials. Nesse fluxo uma aplicação se autentica no servidor para poder obter um access_token. Porém é imprescindível que o acesso seja feito através de TLS. Outro ponto muito importante é considerar o tipo da aplicação consumidora. Em caso de aplicações públicas como aplicações nativas e aplicações que rodam direto no browser, as mesmas não são capazes de proteger as credenciais.

Caso em sua aplicação seja mesmo importante utilizar o OAuth (tanto 1.0 quanto 2.0), sugiro dar uma olhada no projeto Spring Security OAuth.

Bom, é isso aí!
Espero ter ajudado um pouco.

V

Obrigado Adolfo, é realmente isso que necessitava…

Você contextualizou e eu entendi mais o meu problema… Obrigado.

Criado 20 de outubro de 2016
Ultima resposta 26 de out. de 2016
Respostas 3
Participantes 3