Estoy creando una API con puntos finales tanto protegidos como públicos, y la estoy protegiendo con los diversos flujos de OAuth 2. Quiero que esta API esté abierta al mundo: el sitio web principal del consumidor ni siquiera tendrá el mismo origen que el servidor de la API. Así que estoy planeando implementar CORS.
Muchos textos advierten sobre terceros malintencionados que "envían solicitudes como el usuario ", pero no estoy seguro de lo que significan. Supongo que esto es similar a cómo funciona CSRF, ya que las solicitudes se envían con las cookies del usuario.
Si este es el caso, ya que mi esquema de autenticación OAuth 2 usa tokens que se pasan a través del encabezado HTTP o un parámetro GET, ¿no sería esto un problema? Mi servicio ni siquiera toca las cookies.
Cualquier tercero que intente realizar una operación protegida en nombre del usuario no tendrá acceso a un token válido (que se almacena en el almacenamiento local o en la memoria). O a menos que el usuario invoque explícitamente un flujo de OAuth 2, le dé al tercero un token válido y lo use (funcionando como se esperaba) - o no es una operación que requiera el usuario se autenticará, lo que funcionaría (también funcionaría según lo previsto).
Por supuesto, como todos sabemos, cuando asumo que hago una mierda con oh, Dios, estamos comprometidos, hay gatitos en todas partes , así que podría estar equivocado y hay una brecha de seguridad mayor que solo las cookies. Gracias!