Estoy creando una API que utilizará tokens de acceso para poder rastrear el uso entre varios departamentos y para el control de acceso. Mi plan es utilizar los verbos HTTP de manera adecuada: GETrecuperará información, POSTagregará, DELETEeliminará, etc.
Mi pregunta es, ¿cómo debo manejar los tokens de acceso en las llamadas GET?
Opcion uno:
Es proporcionar el token de acceso como parte de la cadena de consulta: /api/users/?token=ACCESSTOKEN. El problema que tengo con esto es que ACCESSTOKEN aparece en los registros del servidor. Este método también será diferente de las solicitudes POST o DELETE que tienen el token pasado a través del cuerpo.
Opción dos:
Proporcione un cuerpo a la solicitud (como lo hace en una POSTsolicitud) y uno de los parámetros es el token. Mi problema aquí es que otros desarrolladores de mi empresa me dicen que esto no es una "verdadera solicitud GET" porque estoy pasando datos. La url que llaman simplemente se ve así /api/users/y proporcionan token=ACCESSTOKENdentro del cuerpo.
Opción tres:
Deja de usar GETy obliga a todo a ser a POST. No me gusta esta idea porque para muchas de estas llamadas API, no estoy creando nuevos recursos. Simplemente estoy devolviendo datos que se encuentran detrás de una API que requiere autorización.
¿Hay una opción que me falta o que debo refinar? Me gusta la opción 2, pero soy sensible a las preocupaciones de otros desarrolladores de departamentos.
Authorization.