sobre seguridad de autenticación basada en token

8

Estoy leyendo los servicios autenticados con token. Entiendo que un usuario debe obtener un token para usar los servicios de arcgis. Ejemplo: https://domain.com/arcgis/rest/services/myMap/MapServer es mi servicio. El administrador de mi servidor me da un token como este. Token = AJSJK876548sjjs7

Y utilicé este servicio en mi API de JavaScript como este https://domain.com/arcgis/rest/services/myMap/MapServer?token=AJSJK876548sjjs7

Un usuario puede ver el origen de mi aplicación desde el navegador y puede obtener mi token. Y él / ella puede acceder a mi servicio. ¿Es esto un problema de seguridad?

barteloma
fuente

Respuestas:

8

Sí, es un problema de seguridad.

Una solución común es pasar por un proxy, un servicio que usted escribe al que su cliente puede llamar y que a su vez llamará al punto final. Su cliente llama a su servicio con todos los argumentos excepto el token. El servicio copia todos los argumentos que se le pasan, agrega el token, llama al punto final y devuelve la respuesta a su cliente.

Russell en ISC
fuente
2
Es importante tener en cuenta que con este enfoque, la responsabilidad recae en el desarrollador para asegurar de alguna manera el proxy. Después de todo, el usuario ahora puede simplemente pretender ser la aplicación y pedirle al proxy que devuelva información indirectamente del servicio subyacente. Al final del día, su seguridad debe tener en cuenta que un usuario autorizado finalmente tendrá acceso a los datos sin procesar. Si necesita limitar los datos a los que puede acceder un usuario autorizado, debe agregar lógica para hacerlo en el proxy.
Philip
Buen punto, Phillip.
Russell en ISC