Executando verificação de segurança...
1

Opa Gustavo beleza?
Primeiramente parabéns, pelo que você descreveu já está seguindo o seu caminho como dev frontend. Bom agora está na hora de comunicar esse front com um back através de uma WebAPI. Pelo que vi nos links que você deixou no github eles ja têm ai os endpoints tudo bonitinho para você consumir, o próximo passo que eu te recomendaria era baixar o Insomnia, é uma ferramenta muito top para testar WebAPIs, nele você pode testar as requisições e as respostas possíveis que vai receber. Depois disso você tem que procurar pela fetch api é uma função muito massa do javascript que vai te permitir fazer requisição HTTP direto do seu js. Depois disso basta tratar o resultado e renderizar os dados na tela.

tem um video muito massa que pode te ajudar, é um projetinho de pokedex que sepre recomendo pros inciantes que estão nesse nível que você descreveu:
https://youtu.be/SjtdH3dWLa8
https://youtu.be/SjtdH3dWLa8

Carregando publicação patrocinada...
1
1

Por essas e outras que amo essa comunidade. Sou iniciante e escolhi o caminho de ser Backend, sigo aprendendo Java para isso. Nem sempre entendo completamente o que vejo por aqui, mas já entendo mais do que antes e no fim das contas aprendo termos novos que viram objeto de estudo.
Estou nessa há 6 meses, agradeço muito a todos que colaboram, sejam com dúvidas ou respostas a elas.
Sucesso a todos.
Abraço.

1
1

Uma dúvida, nesse caso se existir token de acesso na API e utilizar um servidor que não possui o node, como faz para guardar esse token sem que outras pessoas possam encontrar e utilizar?

2

Opa tudo bem? bom não sei entendi direito a sua dúvida mas basicamente seria assim:

Como funciona a comunicação?

De forma bem, mais bem resumida, quando temos dois ou mais serviços que precisam se comunicar entre si podemos utilizar várias alternativas: HTTP, WebSockets, gRPC e etc...
No caso aqui desta postagem estamos falando exclusivamente de uma WebAPI por cima do protocolo HTTP.
Sendo assim a comunicação é feita idependente de liguagem/framework/OS/Dispositivo pois deste que haja um suporte a HTTP você vai conseguir fazerem as duas aplicações conversarem.

Autentificação entre cliente e servidor(WebApi)

Quando falamos de autentificação/autorização também existem diferentes estratégias que vão desde Certificados até Tokens. Mas basicamente todas vão funcionar na seguinte maneira:

  1. Cliente faz uma requisição para obter sua "chave de acesso"
  2. Servidor valida essa requisição e responde com a "chave"
  3. Cliente utiliza-se dessa chave nas demais requisições para ter acesso a endpoints protegidos.

Uma das estratégias mais utilizadas é do JWT, depois dá uma pesquisada melhor para entender como funciona.

Quando eu digo Cliente me refiro a não só aplicações frontend mas sim qualquer processo que vai Consumir a WebAPI, deste modo um cliente pode ser: app react, mobile, uma cli ou até mesmo outra WebApi (GraphQl é muito utilizado nesses casos).

Utilização do token pelo cliente:

Como citei anteriormente é feito uma especie de Handshake para conseguir um token de acesso, e como o mesmo vai ser tratado vai depender muito de qual estratégia está sendo utilizada. Vou novamente tomar como base o JWT.
Após obter um token JWT é de responsabilidade do cliente armazenar ele de forma segura e para isso também tem várias formas dependendo do tipo de cliente:

  • Frontend: Comum armazenar no local/session storage ou até mesmo manter em cookie.
  • Mobile: Assim como um frontend tem um local mais "seguro" para guardar o token.
  • Api/Servidor: Este pode utilizar de vários métodos: váriaveis de ambiente, serviço de cache, Banco de dados e etc... Neste aqui é mais fácil de manter o token escondido/seguro. SÓ NÃO DEIXA HARD-CODED NO TEU REPOSITÓRIO/CÓDIGO FONTE.

Com base nisso tudo que falei acho que deu pra entender que Cliente/Servidor são idependentes de liguagem, basta seguirem os mesmos protocolos/especificações que as coisas dão certo.

No seu caso, se eu entendi direito, não importa se o servidor é Node, Deno, AspNet, Rust, SpringBoot, Go ou sla... todos vão ser da mesma forma. Basta receber o token e ver a melhor estratégia no seu cliente para armazena-lo. De preferencia que este token seja de curta duração, no Máx. umas 8h, outra coisa que seu servidor pode implementar é CORS ou alguma coisa para validar o audience. Nada vai ser 100% seguro, então melhor ir pelo simples e adicionar camadas a mais como two-factor e etc... Do que ficar tentando reinventar a roda, com certeza que sempre vai ter brechas. Ja vi caso de pessoa colocar umas trocentas VPN só pra entrar no intranet e depois no final o servidor ser Windows Xp 1900 e pedrinha.

1