sobre segurança de autenticação baseada em token

8

Estou lendo os serviços autenticados com token. Entendo que um usuário precisa obter um token para usar os serviços arcgis. Exemplo: https://domain.com/arcgis/rest/services/myMap/MapServer é o meu serviço. O administrador do meu servidor me fornece um token como este. Token = AJSJK876548sjjs7

E usei esse serviço na minha API javascript como esta https://domain.com/arcgis/rest/services/myMap/MapServer?token=AJSJK876548sjjs7

Um usuário pode visualizar minha fonte de aplicativos no navegador e obter meu token. E ele / ela pode acessar meu serviço. Isso é um problema de segurança?

Barteloma
fonte

Respostas:

8

Sim, é um problema de segurança.

Uma solução comum é passar por um proxy - um serviço que você escreve para o qual seu cliente pode ligar e que por sua vez chama o terminal. Seu cliente chama seu serviço com todos os argumentos, exceto o token. O serviço copia todos os argumentos passados ​​para ele, adiciona o token, chama o terminal e retorna a resposta ao seu cliente.

Russell na ISC
fonte
2
É importante observar que, com essa abordagem, o ônus fica no desenvolvedor para, de alguma forma, proteger o proxy. Afinal, o usuário agora pode simplesmente fingir ser o aplicativo e solicitar ao proxy que retorne informações indiretamente do serviço subjacente. No final do dia, sua segurança deve levar em consideração que um usuário autorizado terá acesso aos dados brutos. Se você precisar limitar os dados que um usuário autorizado pode acessar, adicione lógica para fazer isso no proxy.
Philip
Bom ponto, Phillip.
Russell no ISC