Integração de Micro serviços através de API's Rest

161 views
Skip to first unread message

Marcos Filho

unread,
Apr 22, 2017, 10:51:21 AM4/22/17
to pb...@googlegroups.com
Como mencionado em outra thread @worm.

"@worm, desculpa mudar o rumo da thread mas fiquei curioso do cenário que você utiliza. Atualmente estou precisando fazer essa integração de microservices na minha empresa e estava pensando em usar o REST para integrar os serviços, porém estou olhando a possibilidade de como efetuar essa integração sem ter que passar pela camada de autenticação quando a comunicação for entre microservicos internos. Digo isso pois esses microserviços são fornecidos para os clientes e os mesmos necessitam efetuar uma autenticação antes de consumi-los, porém, estava querendo saber se vocês utilizaram alguma abordagem para comunicar esses microserviços sem necessitar passar por uma camada de autenticação (quando a comunicação for interna).

Como vocês abordam esse cenário (quer dizer, vocês tem esse cenário)?"

Marcos Filho

unread,
Apr 22, 2017, 10:55:29 AM4/22/17
to pb...@googlegroups.com
Atualmente estou utilizando a abordagem de "Canais" através do cabeçalho das requisições, e no service que recebe a requisição é feita uma verificação de qual canal é o requisitante, dessa forma, posso fazer um bypass na parte de autenticação.

Atualmente creio que servirá para mim, porém queria ter uma opinião de outros casos, para ver como fizeram essa integração.

Creio que o ponto principal no meu caso foi o problema da autenticação, de crer que não vejo necessidade de serviços internos precisarem se autenticar em toda requisição.

Caso vocês possam dar suas sugestões, ficaria grato.

Erick Moreno

unread,
Apr 22, 2017, 11:07:46 AM4/22/17
to pb...@googlegroups.com
Marcos, qual mecanismo de autenticação vc ta usando?

Pergunto isso, prq não vejo vantagem em remover a camada de autenticação. Imagino que vc esteja prensando em uma redução de complexidade ou melhoria de desempenho, mas acho que isso depende muito do mecanismo que vc esteja usando.

No meu caso, eu costumo usar JWT, tokens que carregam a informação de autenticação. Então, cada service é capaz de verificar se aquela requisição vem de um agente que pode fazer aquela requisição, independente de onde ele venha. Como o overhead da autenticação é muito pequeno, não vejo sentido em evitar essa etapa.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.
To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

worm

unread,
Apr 22, 2017, 11:24:28 AM4/22/17
to pb...@googlegroups.com
Fala Marcos,
 
Vou tentar exemplificar alguns cenários que já vi na empresa:

1: Você pode fazer o serviço interno não ser acessível na internet pública, somente na rede interna, e liberar de vez o acesso a ele. No nosso caso, todos os serviços de um mesmo time rodam na mesma conta da AWS, e portanto na mesma VPC (Virtual Private Cloud). Usando a própria configuração da rede você pode liberar o acesso especificamente praquele outro serviço, ou pra qualquer serviço dentro da mesma rede, depende do seu caso.

Essa solução é simples e funciona, mas não é escalável, pois exige que os dois serviços estejam na mesma rede e você vai ter retrabalho se precisar liberar acesso pra algum outro cliente no futuro (além de que é sempre bom ter segurança em todos os níveis: eu não acho uma boa idéia deixar o serviço sem autenticação/autorização simplesmente pq os clientes podem acessar pq estão na mesma rede ou algum outro motivo "de infraestrutura" do tipo). Além disso, se o serviço "interno" também pode ser acessado por usuários, não dá certo (que eu imagino que é o seu caso: todos os serviços podem ser acessados pelos clientes, mas a comunicação entre si é a única coisa que você queria "whitelist")

2: Todos os serviços, internos ou externos, exigem autorização: não importa se vão ser acessados por usuários ou por outros serviços, dentro ou fora da mesma rede.
Esse é o nosso cenário normal: qualquer serviço que pode ser acessado pela internet, deve ser protegido com OAuth2 (a escolha de OAuth2 tem seus motivos, mas pode substituir por qualquer mecanismo que você use). A gente tem uma infra-estrutura (bem complicada de adotar fora do nosso cenário específico, na minha opinião) que facilita esse setup.
O serviço "interno" vai continuar só autorizando acesso se receber um token válido no request. Os clientes tem que enviar seu user token, e o serviços tem que enviar seu service token. Os tokens de usuário normalmente são obtidos com login, por exemplo; os de serviço, o STUPS (a infra que eu linkei) cuida de periodicamente atualizar os tokens, e o esforço é mínimo pra implementar a adição desse token nos requests de serviço pra serviço. 

3: Último cenário comum é uma extensão do segundo mas pro caso em que você não faça distinção entre autenticação de usuário e de serviço: simplesmente passa o token do usuário direto para o segundo serviço (que também exigiria autenticação, mas diferente do caso 2, aqui a gente não usa service token e só passa o token próprio do usuário pro segundo serviço, que também deve ser capaz de validar o token, óbvio). Esse caso é meio o que o Erick quis dizer, imagino.

Me fala se algo aí é aplicável no teu caso.
Uma dúvida: o que tu quer dizer com "canais"? Você faliu cabeçalho de requisições, vc quis dizer os headers HTTP? Pq se for, como vc determina que um canal é válido, ou que um cliente não pode tentar formar um request passando um outro canal (que dá acesso ao serviço desprotegido)?

- worm


--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

Marcos Filho

unread,
Apr 22, 2017, 11:48:21 AM4/22/17
to pb...@googlegroups.com
@Erick, com relação ao serviço de autenticação, eu criei meu próprio algoritmo de autenticação, gerando tokens válidos de acordo com o cliente/terceiro, muito parecido ao JWT.
Com relação a vantagem ou desvantagem é exatamente isso que estou tentando ponderar, mas já venho estudando essa arquitetura a algumas semanas e creio que a autenticação seja válida sim, mesmo que seja entre os serviços internos, mas é sempre bom ter a opinião da comunidade para saber alguns pontos de alguns devs

@Worm, entendo seu ponto de vista, atualmente como falei, tenho essa estrutura por canais e isso atualmente me ajuda muito com relação a forma de autenticação. Por exemplo, se for um serviço interno que está consumindo um serviço interno, ele passará um canal especifico e a autenticação utilizará um algoritmo de tokens simples, que a chave é somente interna, caso o canal que esteja requisitando o serviço seja de um terceiro, o algoritmo muda, solicitando o token que aquele terceiro tem.

Atualmente estou utilizando essa abordagem pois consigo deixar minha aplicação mais escalável, de forma que se chegar um novo terceiro, basicamente esse terceiro será cadastrado e receberá seu token válido e terá acesso aos serviços e caso exista um novo serviço que queira se comunicar com outro serviço interno, as aplicações sabem como buscar essa chave interna, podendo assim consumir o serviço de forma mais rápida.

Além de que, dessa forma eu consigo ter uma melhor auditoria, pois sei qual canal está requisitando o serviço, me fornecendo melhor uma rastreabilidade dos consumos.

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

Marcos Filho

unread,
Apr 22, 2017, 11:52:10 AM4/22/17
to pb...@googlegroups.com
"Me fala se algo aí é aplicável no teu caso.
Uma dúvida: o que tu quer dizer com "canais"? Você faliu cabeçalho de requisições, vc quis dizer os headers HTTP? Pq se for, como vc determina que um canal é válido, ou que um cliente não pode tentar formar um request passando um outro canal (que dá acesso ao serviço desprotegido)?"

Canais basicamente são campos utilizados pelo Http Header que são passados, de acordo com uma documentação fornecida, e temos uma "whitelist" se assim posso dizer, dos canais permitidos, dessa forma quando o cliente passa o canal via Http Header é feito uma verificação se o canal do mesmo é valido nessa nossa whitelist.
O cliente não pode passar um outro canal, pois como falei, hoje não possuo canal nenhum desprotegido, todos eles tem um algoritmo, então o token daquele cliente só servirá para aquele canal.

O que estou tentando estudar é que se eu colocar uma nova forma de comunicação (sem ser rest), iria tirar o canal de serviços internos. Mas hoje não há como um serviço interno se comunicar com outro, sem autenticação devida.

Erick Moreno

unread,
Apr 22, 2017, 2:09:45 PM4/22/17
to pb...@googlegroups.com
Marcos, se o canal for só um campo passado no cabeçalho, como vc protege essa lista de canais?

Me parece que se essa informação vaza (e ela provavelmente está commitada) vc tem um problema. Prq é simples adicionar um campo aos cabeçalhos e simplesmente violar seu mecanismo de autorização.

Citando nomes, no meu caso estou usando o keycloack para cuidar dos tokens OAuth2. Apesar de ser um canhão, é sólido e centraliza todas as minhas preocupações com usuários, senhas e tokens. Uma mão na roda. E como, Worm disse, as requisições carregam o token dos usuários em todas as camadas.

[]`s



Marcos Filho

unread,
Apr 22, 2017, 2:17:42 PM4/22/17
to pb...@googlegroups.com
@Erick, mesmo que a lista vaze, não teria problema nenhum, pois cada canal tem que obrigatoriamente passar seu respectivo token e cada token é gerado um para seus respectivos cliente com seus respectivos tempos de vida util. Ou seja, mesmo que você saiba o canal, precisa passar o token com as autorizações que somente as empresas/clientes tem. Até mesmo quando a comunicação é de um canal interno, ou seja, se um serviço interno para outro serviço interno, é necessário passar uma autenticação via token.

Resumindo, não existe um canal que não tenham autenticação. Só estou estudando se vale a pena criar uma nova comunicação, que não seja via rest, para que a comunicação seja meio que ponta a ponta e interno. É mais para saber como poderia melhorar.

Bruno Dias

unread,
Apr 22, 2017, 4:48:12 PM4/22/17
to pb...@googlegroups.com
Eu acho bem interessante usar OAuth2 para implementar soluções de autenticação, com o keycloak da pra ganhar tudo de graça sem stress. Implementar soluções próprias de autenticação/autorização é no mínimo temerário, minha opinião. :) 

Marcos, a lógica que você descreveu, inclusive, é semelhante ao que o protocolo OAuth faz.

[]'s

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.
--
Bruno Dias
Gerente de Projetos - UFCG/SPLab
Professor do curso de Sistemas de Informação - UNIFACISA
Coordenador da Pós-graduação de Engenharia de Software - UNIFACISA

Bruno Dias

unread,
Apr 22, 2017, 4:48:53 PM4/22/17
to Bruno Dias, pb...@googlegroups.com
Errata: "... implementar soluções que precisem de autenticação entre serviços..."

Marcos Filho

unread,
Apr 23, 2017, 7:21:45 PM4/23/17
to pb...@googlegroups.com, Bruno Dias
Entendo perfeitamente, o problema é que não é simplesmente mudar da noite pro dia, outro ponto que precisa ser analisado é como o worm citou, não é necessariamente que a estrutura X que serve para ele, servirá para mim. Existe todo um ecosistema de aplicações que precisam ser adaptadas e o custo/beneficio de mudar isso nem vale a pena, não estou dizendo que esse é o caso, porém é necessário um estudo antes de qualquer decisão arquitetura, creio que no meu caso, refatorar todos os sistemas para utilizar o oauth2 para utilizar algo parecido com o que já existe, é meio que enxugar gelo.

Mas obrigado Bruno, irei dar uma olhada mais a fundo mesmo assim.

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.
--
Bruno Dias
Gerente de Projetos - UFCG/SPLab
Professor do curso de Sistemas de Informação - UNIFACISA
Coordenador da Pós-graduação de Engenharia de Software - UNIFACISA
--
Bruno Dias
Gerente de Projetos - UFCG/SPLab
Professor do curso de Sistemas de Informação - UNIFACISA
Coordenador da Pós-graduação de Engenharia de Software - UNIFACISA

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

Bruno Dias

unread,
Apr 23, 2017, 7:34:02 PM4/23/17
to Marcos Filho, pb...@googlegroups.com, Bruno Dias
Claro! Qualquer mudança nesse sentido requer um esforço considerável, já que impacta diretamente a arquitetura do seu sistema. Tem que avaliar, primeiro, se é viável. Segundo, se não será enxugar gelo, como você citou. Vale a pena avaliar o framework e ver o que ele tem de features interessantes que você pode aproveitar, ai define se é interessante pra teu contexto ou não. 

[]'s

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.
--
Bruno Dias
Gerente de Projetos - UFCG/SPLab
Professor do curso de Sistemas de Informação - UNIFACISA
Coordenador da Pós-graduação de Engenharia de Software - UNIFACISA
--
Bruno Dias
Gerente de Projetos - UFCG/SPLab
Professor do curso de Sistemas de Informação - UNIFACISA
Coordenador da Pós-graduação de Engenharia de Software - UNIFACISA

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

Elliott Chaves

unread,
Apr 26, 2017, 12:46:23 PM4/26/17
to pb...@googlegroups.com
Ola a todos!

Teria algum material específico para leitura, sobre como modelar tais serviços?

Agradeço a atenção dispendida.

Att.,

Gabriel Feitosa

unread,
Apr 26, 2017, 12:56:44 PM4/26/17
to pb...@googlegroups.com
Bem interessante, vou na mesma abordagem de não remover a autorização independente do ambiente.

Aqui nós temos um exemplo de uma aplicação pública acessar um serviço protegido em outro sistema. Nesse caso, criamos um token anônimo que é válido de acordo com certas características negociais. 

Por exemplo, a chave privada é compartilhada a nível de ambiente entre as aplicações. Assim, cada ambiente (dev, hom, prod...) possui uma chave e características de acordo com a configuração do ambiente.


To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

worm

unread,
Apr 26, 2017, 1:32:54 PM4/26/17
to pb...@googlegroups.com
Fala Elliot, foi mal não ter falado no FB, acabei esquecendo.

Eu não curto muito aprender tech com livro não mas o povo fala muito bem do Building Microservices. 

No youtube tem muito talk sobre (inclusive do Sam Newman que escreveu esse livro e do Martin Fowler que td mundo sabe quem é :P), uns do Netflix (eles tem uma constelação de microservices hahua seguem moldes parecidos aos da Zalando - ou seria o contrário? :P), enfim. Tem esse artigo que vi randomicamente aqui e parece bom.


-worm

Erick Moreno

unread,
Apr 26, 2017, 5:31:32 PM4/26/17
to pb...@googlegroups.com
Gabriel, compartilhar chaves privadas não costuma ser uma boa ideia. Como vc faz isso?

Em geral, a melhor estratégia é ter chaves privadas individuais, mas assinadas/garantidas/issued por uma única chave privada (CA). Assim, cada service pode ser identificado individualmente por sua chave e vc não precisa adicionar uma nova chave de confiança aos outros servers, basta que eles confiem na sua primeira chave, o CA.

Se eu tiver entendio certo, esse link vai te ajudar com isso:

[]'s

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

Gabriel Feitosa

unread,
Apr 26, 2017, 9:58:27 PM4/26/17
to pb...@googlegroups.com

Fala Erick,

  Acho que me expressei mal. Não é que seja um compartilhamento, nós desenvolvemos um algoritmo que gera uma senha aleatoria e ela é usada para encriptar o token, mais ou menos como o token do banco funciona.

Esse token é gerado com validade de tempo bem curta.

No nosso caso, a aplicação pública chama um serviço público que internamente gera o token e faz a requisição para o serviço privado. Fica transparente para a requisição do frontend o uso da API privada. Ela só ocorre entre os containers de backend.

Vou da uma lida no link que você mandou, achei interessante essa outra abordagem.

Abraço


To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+un...@googlegroups.com.

Erick Moreno

unread,
Apr 26, 2017, 10:17:03 PM4/26/17
to pb...@googlegroups.com
Na verdade, o comentário que eu fiz sobre as chaves não anula sua solução dos tokens.

Você vai continuar precisando dos tokens, só que a geração (e verificação) deles é feita por um par de chaves numa cadeia e não por uma chave privada que vários serviços têm. Esse é o cuidado.

O link só explica como criar a cadeia, nada demais.

To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.

--
You received this message because you are subscribed to the Google Groups "PBJug" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pbjug+unsubscribe@googlegroups.com.

To post to this group, send email to pb...@googlegroups.com.
Visit this group at https://groups.google.com/group/pbjug.
For more options, visit https://groups.google.com/d/optout.



--
Reply all
Reply to author
Forward
0 new messages