Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

P3rukao

Criar API com autenticação

Recommended Posts

Por ser mais fácil de implementar.

 

Fácil é um conceito e, como tal, é relativo, lembre-se sempre disso.

 

mas ainda sim é meio complicado pra alguns.

 

Implemente um OAuth provider e um OAuth client e depois conversamos sobre fácil e complicado.

 

:P

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.w3.org/Submission/SA-REST/#sec_1_1

 

bastando ir ali no google, basta ver q o rest nao eh tao simples como muitos acham...e eh parecido com o soap

 

essas apis publicas do google cia, lhe disponibilizado um cliente onde você le a documentacao o, dos codigos, metodos, para poder utilizar-se deles, como um soap...pode ver q dentro deste cliente você tem o endereco do server, como no soap...

 

http://www.w3.org/2005/Talks/1115-hh-k-ecows/#%281%29

 

http://www.w3.org/2005/Talks/1115-hh-k-ecows/#%289%29

 

http://www.w3.org/2005/Talks/1115-hh-k-ecows/#%2810%29

 

http://www.w3.org/2005/Talks/1115-hh-k-ecows/#%2824%29

 

http://www.w3.org/2005/Talks/1115-hh-k-ecows/#%2835%29

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fora que ele apenas precisa consumir alguns dados, isso eh Stateless, logo REST.

 

Realmente o OAuth eh chatinho mesmo para implementar. Mas em casos de consumo de informações ou operações CRUD você deve criar suas rotas ja pensando no obvio e utilizando os verbos corretamente, sua api sera intuitiva.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Implemente um OAuth provider e um OAuth client e depois conversamos sobre fácil e complicado.

 

Eu não iria implementar, mas a opinião que eu dei anteriormente foi totalmente contra

 

Porque não faz algo mais simples ? quando você cadastra um cliente, gera um token aleatório pra ele, daí na hora que ele enviar a requisição para um serviço que recupere as notícias por exemplo, você procura no banco se existe um token pra esse cliente, se existir, libera o xml ..

 

Ele pode passar esse token através de um parâmetro na url, algo como:

http://seusite.com/service?auth={TOKEN}&service=notices

 

Mas, em relação a hipótese de implementar, eu concordo com o Jean :seta: http://forum.imasters.com.br/topic/455759-criar-api-com-autenticacao/page__view__findpost__p__1804009

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tá Andrey, que REST é a solução para esse caso, já falamos. O ponto que estou levantando aqui é "Porque?".

 

Estou fazendo essa pergunta, de certa forma agressiva, porque vejo constantemente as pessoas fazendo as coisas porque acham bonitas. Usam padrões de design só para falarem que usaram, usam uma linguagem só pra falarem que usaram, usam ferramentas, muitas vezes desnecessárias só para falarem que estão usando.

 

:seta: Isso é errado!

 

REST é a solução para esse caso por um motivo muito específico, simples até, eu só quero que alguém poste o motivo para eu poder postar a implementação REST do mesmo serviço que já está pronta aqui.

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.w3.org/Su...A-REST/#sec_1_1

 

bastando ir ali no google, basta ver q o rest nao eh tao simples como muitos acham...e eh parecido com o soap

 

essas apis publicas do google cia, lhe disponibilizado um cliente onde você le a documentacao o, dos codigos, metodos, para poder utilizar-se deles, como um soap...pode ver q dentro deste cliente você tem o endereco do server, como no soap...

 

http://www.w3.org/20...-ecows/#%281%29

 

http://www.w3.org/20...-ecows/#%289%29

 

http://www.w3.org/20...ecows/#%2810%29

 

http://www.w3.org/20...ecows/#%2824%29

 

http://www.w3.org/20...ecows/#%2835%29

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Igor.php,

 

Se você acha que REST "e eh parecido com o soap", você sabe dizer o motivo de REST ser melhor que SOAP nesse caso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

API com autenticação ... hum pergunta difícil !

 

bom , como disseram, REST é o conceito ideal pra essa questão em específico !

 

como todo mundo sabe , o HTTP possui dois tipos básicos de implementação de uma autenticação : a Básica e a Digest.

 

segue uns links legais:

 

http://www.brainbell.com/tutors/php/php_mysql/Case_Study_Customer_Authentication.html

http://php.net/manual/pt_BR/features.http-auth.php

http://en.wikipedia.org/wiki/Digest_access_authentication

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

@Igor.php,

 

Se você acha que REST "e eh parecido com o soap", você sabe dizer o motivo de REST ser melhor que SOAP nesse caso?

 

você chegou a ver os slides q mandei nos links?

 

la sim, faz uma comparacao entre restful e soap, porem eh uma comparacao feita pela W3C

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigado pelo auxílio João,

eu já havia pesquisado sobre SOAP e aplicações REST, mas como não conheço a fundo nenhum dos dois, não me sinto seguro de pegar qualquer coisa e "jogar" no projeto.

 

A minha aplicação atual é, de fato, relativamente simples. Preciso fornecer determinados dados aos meus clientes (como lista de Notícias com comentários, ou lista de Usuários cadastrados e suas dependências, e muito mais...), mas que não podem ser de acesso público, da mesma forma que um banco de dados não é. E também, para evitar de ficar colocando informações de meu banco de dados em cada site que for utilizar um pequeno serviço de meu site principal.

 

Mas já pensando em escalabilidade, essa minha aplicação prevê a necessidade de se poder fazer operações CRUD, para enviar algumas informações ao banco, como um simples texto, ou até fazer um upload para o servidor.

 

REST ainda seria a opção mais viável?

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

REST ainda seria a opção mais viável?

 

 

SOAP é um envelope , certo ? REST é um conceito , não se iguala a um SOAP, que é um mecanismo de transporte via HTTP (também). O REST incentiva o uso mais completo do HTTP , que também possui boas ferramentas, como a autenticação , de que precisa.

 

HTTP é um envelope também. Ele também transporta mensagens. Com ou sem a segurança , de acordo com a necessidade.

 

HTTP também tem operações para se comunicar corretamente com um CRUD de forma genérica e fácil : a Interface Uniforme (GET, PUT, POST e DELETE).

 

com o SOAP acredito que você terá mais flexibilidade em fazer chamadas de método remotas.

 

Resumindo, REST por si só , na questão da utilização correta da Interface Uniforme, é preciso um pouco de estudo pra implementar. Se fosse falar aqui é bastante coisa, então, porque não conceitos REST+SOAP ?

 

Pro CRUD, disponha-se de chamadas de método remotas. para autenticação , opte pelo simples: autenticação Basic ou Digest, nativas do HTTP e fáceis de implementar. Isso é REST, tornar a web simples.

 

REST é um conceito , SOAP é uma ferramenta, não o comparem , pra quem fala que REST é difícil uma dica: Roy Fielding, um dos co-inventores do HTTP que o idealizou. Ele não ia querer complicar mais do que às vezes o SOAP complica. Eu digo , às vezes !

 

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pessoal pensem no TIPO da resposta e para que vai servir o webservice e pensem em casos que vcs ja conhecem. Ae Joao nao falei nada soh dei dicas ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Senhores, ótima discussão aqui.

 

Porém, seria melhor ainda exemplificando, por que de em certo caso utilizar REST, e em outro SOAP.

 

Podemos começar com meu caso:

 

Temos na empresa que trabalho um webservice feito com nuSOAP, para comunicação com ERP's de clientes (p.e. SAP).

 

E é claro que ele faz autenticação antes de fazer essa comunicação :-)

 

Nesse caso, quais os motivos de utilizar/não utilizar REST/SOAP ?

 

Abraços !

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa. A conversa estava boa, mas a galera abandonou....

 

O autor do post não retornou para avisar qual solução utilizou.

 

O João informou ter uma implementação em REST, mas não postou.

 

Algum desfecho?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estava gostando da discussão. Estou interessado em estudar, já a algum tempo, o REST, SOAP, oAuth no meu tempo livre.

Peguei um ótimo conteúdo aqui, vamos ver se alguém volta a essa discussão para termos um desfecho. =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.