2011-11-07 20 views
8

Estoy creando una aplicación web simple que devuelve json.¿Cómo asegurar mi API web?

Realizará simples operaciones crud.

¿Cuál es la mejor manera de autenticar usuarios, OAuth parece ser la principal recomendación aquí, pero estoy buscando algo que pueda implementar solo, basado en token o clave API?

Cualquier sugerencia de ideas consejos sería genial, gracias

ACTUALIZACIÓN: Se olvidó de mencionar, esta API no será por Consumo en general, es sólo para mi propio uso, pero yo quiero estar seguro de que alguien no puede conseguir con demasiada facilidad si tropiezan con eso.

Respuesta

3

En primer lugar, para construir una buena API debes usar la API de otras personas para ver cómo funcionan. Para que sea RESTful se usa una clave API, que es solo un número aleatorio realmente grande o "nicho criptográfico". Pero realmente esto es como el ID de sesión inmortal para buscar la información de autenticación de un usuario, que no es tan buena. OAuth es genial, si quieres tu propio sistema, kerberos es muy seguro.

Es posible hijack json responses, que es una trampa contra json. Si se requiere la clave API para cada solicitud, el atacante no puede usar este método.

+0

¡Gracias! La API podría ser suficiente ya que sabré la dirección IP de la que procederá la solicitud. –

+0

@Rigobert Song ahora esa es una muy mala idea que ninguna API que conozco use. Usted abre la puerta para el secuestro de json. Las direcciones IP son compartidas por los usuarios. Oah y será inútil para muchas empresas y escuelas porque los balances de carga rotarán la dirección IP del usuario. – rook

+0

Lo sentimos, ¡significa decir la clave de API! He actualizado la pregunta, ¡es solo para mi uso y no para un APi público! –