API RESTful privada

Iniciado por esjuleta, 20 Febrero 2016, 10:57 AM

0 Miembros y 1 Visitante están viendo este tema.

esjuleta

Hola a todos,

estoy creando una API RESTful con Node.js para ser consumida desde mi página web y una aplicación Android que estoy desarrollando.

El problema es que cualquier persona podría desarrollar una web o app propia y acceder al servicio que ofrece mi API. ¿Existe alguna forma de evitar que software de terceros se aprovechen de esto?

Gracias.

MinusFour

Pues tienes que tener algún sistema de acceso, usar cookies, sesiones, tokens.

esjuleta

Eso ya lo tengo implementado. Utilizo tokens para que solo los usuarios registrados puedan acceder a la API. Pero ese no es el problema.

Lo que quiero evitar es que otra web, sabiendo la dirección de mi API, la utilice como lo hago yo en mi propia página web. Es decir, quiero que el acceso a la API se pueda realizar solo desde el front-end que desarrolle yo.

MinusFour

Cita de: efrenx en 20 Febrero 2016, 15:13 PM
Eso ya lo tengo implementado. Utilizo tokens para que solo los usuarios registrados puedan acceder a la API. Pero ese no es el problema.

Lo que quiero evitar es que otra web, sabiendo la dirección de mi API, la utilice como lo hago yo en mi propia página web. Es decir, quiero que el acceso a la API se pueda realizar solo desde el front-end que desarrolle yo.

Desde un navegador no pueden hacer peticiones a tu sitio desde otro sitio a menos que tu lo permitas. Por que la política de seguridad de contenido lo prohibe. Claro que cualquier otro cliente HTTP (que no sea un navegador) puede realizar la petición por ti. Por más que lo intentes no puedes evitar que otro cliente HTTP imite la petición que usa un navegador estando en tu sitio.