| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 17/09/2011 11:49:36
|
moscoso.dev
Debugger
Membro desde: 06/07/2011 07:03:19
Mensagens: 66
Offline
|
AUser wrote: Aí eu te pergunto novamente: como fazemos essa autorização? Esse é um dos pontos que não entendo em REST...
Basicamente no servidor você retorna 401 (Authorization Required) na ausência do request header Authorization: Basic <Base64 do usuário:password>.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.8
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2011 08:31:05
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
moscoso.dev wrote:
AUser wrote: Aí eu te pergunto novamente: como fazemos essa autorização? Esse é um dos pontos que não entendo em REST...
Basicamente no servidor você retorna 401 (Authorization Required) na ausência do request header Authorization: Basic <Base64 do usuário:password>.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.8
Opa!
Rapaz, que bom que encontrei alguém que pode me ajudar nas minhas dúvidas de REST, hehe.
Bom, eu nunca entendi cara, se eu armazeno o state no cliente, por meio de cookies, a segurança não fica vulnerável? Seria só alterar o cookie, correto? E caso a política de Authorization mudasse, como ia dar expire no cookie? Resetando o server?
Bom, eu entendo que deve ter alguam meleca no meio das minhas dúvidas, mas é que ainda não consegui compreender mesmo. Você conehce algum exemplo bom na web sobre isso? Em que tipo de aplicações não seria legal usar REST?
[]'s!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 18/09/2011 09:12:31
|
peerless
GUJ Master
![[Avatar]](/images/avatar/5b2a8f2b014bb326fd82ee313704e78c.jpg)
Membro desde: 22/01/2007 14:52:26
Mensagens: 1391
Localização: Porto Alegre / RS
Offline
|
se a aplicação é interna, simples regras de firewall deveriam resolver o problema. Se eh externa, um SSL + uma politica de token, ja descrita e nao statefull tambem resolvem.
Abracos
|
follow me
pitacos
"The most problems that teams face are about communication, and all the others are too." - Dan North
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2011 14:56:28
|
moscoso.dev
Debugger
Membro desde: 06/07/2011 07:03:19
Mensagens: 66
Offline
|
AUser wrote:
Opa!
Rapaz, que bom que encontrei alguém que pode me ajudar nas minhas dúvidas de REST, hehe.
Bom, eu nunca entendi cara, se eu armazeno o state no cliente, por meio de cookies, a segurança não fica vulnerável? Seria só alterar o cookie, correto? E caso a política de Authorization mudasse, como ia dar expire no cookie? Resetando o server?
[]'s!
Uma solução restful não usa cookies. Veja meu post anterior.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2011 16:11:41
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
Eu não uso rest ainda...tudo aqui esta maravilhosamente rodando SOAP!!
Eu vi no ultimo artigo da revista Java Magazine edição 83 o camarada la chamado de João Savio C. Longo sugere o uso de OAuth para autenticação e autorização em WS Rest.
http://en.wikipedia.org/wiki/OAuth
http://oauth.net/
This message was edited 1 time. Last update was at 20/09/2011 16:12:37
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 20/09/2011 17:00:35
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
FernandoFranzini wrote:Eu não uso rest ainda...tudo aqui esta maravilhosamente rodando SOAP!!
Eu vi no ultimo artigo da revista Java Magazine edição 83 o camarada la chamado de João Savio C. Longo sugere o uso de OAuth para autenticação e autorização em WS Rest.
http://en.wikipedia.org/wiki/OAuth
http://oauth.net/
Opa Fernando,
Mas você já se precisou decidir entre SOAP ou REST? Teve alguma característica que te influenciou?
[]'s
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/09/2011 06:42:54
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
AUser wrote:
Opa Fernando,
Mas você já se precisou decidir entre SOAP ou REST? Teve alguma característica que te influenciou?
[]'s
Sim...uso SOAP hoje por que:
- Mais usado hoje
- Mais ferramentas
Com a criação do WSDL REST, esta praticamente se tornando um "SOAP", usando protocolo HTTP.
Ou seja, na verdade mesmo, eliminou apenas o overred....
Mas nos temos q estar preparado para ambos.....
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/09/2011 09:52:02
|
moscoso.dev
Debugger
Membro desde: 06/07/2011 07:03:19
Mensagens: 66
Offline
|
Se seu sistema for web, SOAP não é uma opção.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 09:15:48
|
eldontc
What is classpath?
![[Avatar]](/images/avatar/8eecae92aad27337528c9599afa30948.jpg)
Membro desde: 01/02/2011 09:30:35
Mensagens: 6
Localização: Brasília
Offline
|
Pois é galera, vi ser mencionado o oAuth como opção. Acontece que as implementações de oAuth que vi sempre resolvem o problema de autenticação onde existem 3 envolvidos.
1 - Um provedor de informação, por exemplo, um site que armazena fotos.
2 - Um consumidor de serviço, por exemplo, um site que deseja buscar fotos no provedor de informação, por exemplo, buscar fotos.
3 - O usuário que é dono da informação no site provedor, por exemplo, um usuário que tem as fotos armazenadas no site que armazena fotos.
Daí ocorre a chamada "Dance" no jargão oAuth, onde o usuário autoriza o consumidor de serviços a utilizar os dados no provedor em seu nome.
Existem outros cenários, por exemplo, quando você aceita que um site utilize sua conta do Google ou Facebook para se autenticar neste site, geralmente é feito com oAuth também. No oAuth 2, existe um outro modelo chamado de 2-legged que, pelo que entendi, serviria para autenticação simples entre usuário e site de serviços diretamente.
O fato é, quando temos um implementação REST, estamos dispostos a entregar recursos / estados armazenados em um servidor para qualquer cliente que chame por uma URL / verbo HTTP. Não podemos partir da premissa que temos um browser do outro lado, pode ser por exemplo, um cliente mobile, uma aplicação nativa em iOS ou Android, que não suporta uso de cookies e JSESSIONIDS da vida.
A questão continua aberta, como tratar a autenticação e manutenção desta autenticação entre requests, em um modelo REST de desenvolvimento?
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 09:20:49
|
FernandoFranzini
GUJ Master
![[Avatar]](/images/avatar/33f6c40df1060aa3c548ad2d499eced0.jpg)
Membro desde: 24/04/2009 12:58:16
Mensagens: 1541
Offline
|
um cliente mobile, uma aplicação nativa em iOS ou Android, que não suporta uso de cookies e JSESSIONIDS da vida.
Suporta sim...faz tempo......
A questão continua aberta, como tratar a autenticação e manutenção desta autenticação entre requests, em um modelo REST de desenvolvimento?
Use autenticação por request!!! Minimize o impacto usando cache de autenticações para não gastar recursos...entre as repetidas autenticações.
This message was edited 1 time. Last update was at 28/09/2011 09:22:14
|
Fernando Franzini |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 10:09:43
|
eldontc
What is classpath?
![[Avatar]](/images/avatar/8eecae92aad27337528c9599afa30948.jpg)
Membro desde: 01/02/2011 09:30:35
Mensagens: 6
Localização: Brasília
Offline
|
Putz, implementa mesmo, via [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];, no caso do iOS.
Analisando melhor o meu próprio post, acho difícil realmente um dispositivo ser capaz de invocar URLs e não implementar a guarda de cookies. Vivendo e aprendendo.
Valeu pela informação Fernando Franzini.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 28/09/2011 10:49:02
|
moscoso.dev
Debugger
Membro desde: 06/07/2011 07:03:19
Mensagens: 66
Offline
|
eldontc wrote:Putz, implementa mesmo, via [[NSHTTPCookieStorage sharedHTTPCookieStorage] setCookieAcceptPolicy:NSHTTPCookieAcceptPolicyAlways];, no caso do iOS.
Analisando melhor o meu próprio post, acho difícil realmente um dispositivo ser capaz de invocar URLs e não implementar a guarda de cookies. Vivendo e aprendendo.
Valeu pela informação Fernando Franzini.
Twitter direciona para o browser para completar a autorização via OAuth.
|
|
|
 |
|
|