Estoy trabajando en una API REST para una aplicación web que hasta ahora hemos desarrollado internamente para un par de aplicaciones complementarias. Ahora que estamos buscando abrirnos a desarrolladores externos, queremos agregar tokens a la API para ayudar a identificar quién está haciendo las solicitudes y, en general, para ayudar a administrar su uso. En este punto, estamos utilizando https y autenticación básica para la autenticación de usuario en la API.¿Buen enfoque para un esquema de token API web?
El esquema de token que hemos estado discutiendo sería muy simple en el que a cada desarrollador se le asignarían 1 o más tokens y estos tokens se pasarían como un parámetro con cada solicitud.
Mi pregunta es si has hecho algo similar antes de cómo lo hiciste (hiciste más o menos, cómo manejaste la seguridad, etc.) y ¿tienes alguna recomendación?
Gracias!
Para cualquier persona interesada, escribí una historia sobre cómo pasar de no tener seguridad a una API REST segura sin OAuth aquí: http://www.thebuzzmedia.com/designing-a-secure-rest-api-without- oauth-authentication/ El problema no está en la identificación (tokens únicos, etc.) sino en el cierre de los vectores de ataque y las personas que suplantan a los usuarios. Sobre HTTP que requiere una suma de comprobación o un "HMAC": firma de todos los valores en la solicitud con una clave secreta que solo el cliente y el servidor conocen. Sobre HTTPS, es mucho más fácil, un token simple funciona bien. –