Executando verificação de segurança...
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?

Carregando publicação patrocinada...
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
1

Alguém já conseguiu implementar o login autenticado do Cartola FC (Globo ID) em um app mobile?

Estou desenvolvendo um app em Capacitor + Firebase e preciso integrar o login oficial do Cartola FC.
A ideia é capturar o token/cookie válido (como o GLBID ou id_token) e conseguir chamar o endpoint /auth/time da API do Cartola de forma autenticada.

Já cheguei até aqui:

Consigo abrir a tela de login do GloboID no WebView.

Após o login, recebo GLBID, glb_uid_jwt e GLOBO_ID nos cookies.

Mas qualquer chamada à API (/auth/time ou /auth/me) retorna 401 Usuário não autorizado.

Minha dúvida:
👉 Qual é o fluxo correto que o Cartola espera para validar a sessão?
É com Bearer token (OAuth2/PKCE) ou com o GLBID nos cookies?
Alguém aqui já implementou isso com sucesso e pode dar um norte (ou mesmo confirmar se só com parceria oficial da Globo é possível)?

Sei que é possível porque Parciais CFC, Guru do Cartola, Cartomante, fazem isso... mas não consigo achar a combinação correta de jeito nenhum! Alguem sabe?