Open evertonagilar opened 9 years ago
Esta lista de usuários terá que ser persistida, alguém vai ter que criar um módulo de armazenamento. Vou abrir uma tarefa para isso.
Marçal, por favor pode subir os seus documentos. Criei uma pasta doc.
Valeu Everton. Apanhei um pouco do GIT para subir só o que eu queria (pois no log de mudanças feitos no meu repositório local incluía o arquivo gerado pelo rebar ebin/ppca_soa.app), mas consegui fazer o push.
Marçal, se precisar de apoio estou a disposição. Se puder, peço que compartilhe o codigo que tiver do ppca_autentica, daí posso ir me apropriando.
Celson daqui a pouco irei upar a primeira versão do código. Podem apoiar à vontade. Só tenho a agradecer ;-)
Alterei o arquivo ppca_route.erl acrescentando uma rota para "ppca_auth_user:autentica" com o caminho "/autentica", além da versão inicial do arquivo "ppca_auth_user.erl". Fiz um teste com o curl e chegou no método.
Everton, estou tentado fazer um teste no curl para testar a passagem de parâmetros para o módulo:
curl -vX POST localhost:2301/autentica -d"{\"user\":\"joao\",\"pass\":\"senha\"}"
E está voltando isso:
C:\Users\User>curl -vX POST localhost:2301/autentica/ -d"{\"user\":\"joao\",\"pa ss\":\"senha\"}"
POST /autentica/ HTTP/1.1 User-Agent: curl/7.41.0 Host: localhost:2301 Accept: / Content-Length: 30 Content-Type: application/x-www-form-urlencoded
A minha chamada não está correta?
Aliás o teste 2 da página https://github.com/PPCA2014/ppca_soa/wiki/Testes-com-a-ferramenta-curl também está dando erro:
curl -vX POST localhost:2301/aluno/listagem_formandos -d"{\"data_inicial\":\"01/01/2015\",\"data_final\":\"30/06/2015\"}"
Muito estranho pois fiz o teste e funcionou. Olha as telas:
Chamada com curl:
Resultado no server:
Estou analisando o problema. Até o seu exemplo funcionou aqui. O seu OS é Windows né?
Poderia colocar aqui a saída do server também. Eu to achando que pode ser versão do curl, porque a lib que converte o texto JSON para dados Erlang com certeza funciona.
Marçal, você tem duas opções:
1) veja qual é o caracter de escape, No Linux eu to usando \ para escapar o ".
2) ou use um arquivo para colocar o json e use o curl como no exemplo do teste 1:
curl -vX POST localhost:2301/hellow_world/2015?demo=1 -d @dados.json
-d @dados.json -> diz o arquivo que possui o payload para enviar no request.
Marçal, testei também na ferramenta Advanced REST Client no Firefo. Ok!
Everton, maneira a ferramenta Advanced Rest Client. Instalei o aplicativo no meu Chrome e fiz o mesmo teste, só que tá dando o erro 415... Deve ser coisa do Windows... Ainda tô enrolado no artigo da Engenharia de Requisitos, mas acho que na terça já termino e volto a mexer com isso.
Amanhã vou fazer testes no Windows. Em 17/05/2015 23:30, "mhokama" notifications@github.com escreveu:
Everton, maneira a ferramenta Advanced Rest Client. Instalei o aplicativo no meu Chrome e fiz o mesmo teste, só que tá dando o erro 415... Deve ser coisa do Windows... Ainda tô enrolado no artigo da Engenharia de Requisitos, mas acho que na terça já termino e volto a mexer com isso. [image: tela_advanced_rest_client] https://cloud.githubusercontent.com/assets/11701717/7673580/97ea2b64-fcec-11e4-9111-010b6b9c1916.jpg
— Reply to this email directly or view it on GitHub https://github.com/PPCA2014/ppca_soa/issues/7#issuecomment-102898398.
Advanced Rest Client funciona no chrome também? Vou instalar e testar a autenticação tb Marçal.
Marçal, solução prévia na atividade https://github.com/PPCA2014/ppca_soa/issues/28.
Celson tem como uma extensão do Chrome
Everton, qual o material de referencia para a issue de de comunicação assíncrona?
Em 18 de maio de 2015 14:25, Everton de Vargas Agilar < notifications@github.com> escreveu:
Marçal, solução prévia na atividade #28 https://github.com/PPCA2014/ppca_soa/issues/28.
— Reply to this email directly or view it on GitHub https://github.com/PPCA2014/ppca_soa/issues/7#issuecomment-103141537.
Esto estudando programação reativa. Um link que estou estudando é esse:
Tem um exemplo de comunicação assíncrona com gen_server:cast no link abaixo. Vou dar uma olhada.
http://bytefilia.com/gen_server-synchronous-vs-asynchronous/
Tarefa 05: Desenvolver um módulo para autenticar e autorizar acesso de clientes aos serviços do servidor.
O servidor precisa de algum meio para fazer a autenticação do cliente para saber se este é autorizado a chamar determinado serviço. O responsável por esta tarefa precisa estudar, analisar e propor algum meio para verificar as autorizações.
Obs.: Uma segurança mínima é importante. Por isso, um método para autenticar por token/senha e um cadastro de usuário já seja o suficiente.
Pode-se criar um record no arquivo ppca_config do tipo: -record(user, {id, nome, senha}).