Se puede hacer de cualquier manera, y los valores en una solicitud GET no son realmente más visibles que los valores en una solicitud POST. Si alguien puede "ver" (es decir, interceptar) la solicitud, puede ver todo lo que está enviando. Al final, una solicitud HTTP es simplemente un grupo de encabezados HTTP posiblemente seguidos por un cuerpo. La URL se envía en la primera línea GET /foo/bar HTTP/1.1
, otros valores solo se envían en líneas siguientes.
Depende de usted dónde espera que se envíe su token de autenticación. Puede necesita para ser un parámetro de consulta que se anexa a cada petición:
GET /foo/bar?user=123456&token=abcde...
Para utilizar realmente el protocolo HTTP como se pretende, sin embargo, se debe utilizar el encabezado Authorization
HTTP:
Authorization: MyScheme 123456:abcde...
El contenido de este encabezado es totalmente de usted. Por lo general, especifica un método de autorización como Basic
, seguido de lo que desee para la autenticación. Esto puede ser simplemente el nombre de usuario y la contraseña, un hash de ellos, un token opaco que el cliente ha obtenido en algún momento o cualquier otra cosa realmente.
Recomendaría un sistema de token o un sistema de firma de solicitudes, siendo este último muy preferido. En un sistema de firma de solicitudes, el cliente debe obtener un token de usted. A continuación, envía un hash de este token y ciertas características de la solicitud para autenticar la solicitud, p. sha1(Token + Timestamp + Request URL + Request Body)
. Su servidor puede validar esto sin que el cliente tenga que enviar el token en texto sin formato en cada solicitud.
¿Cómo puedo hacer que el token solo sea válido por un tiempo específico?
Guarda el token del lado del servidor con una marca de tiempo de caducidad y lo compara.
hacen ámbito tan oculto a través de método POST –
lo que sería el sentido de un servicio Restfull si sólo pudiera utilizar el poste;) he implementado PUT, POST, GET, DELETE, de Por supuesto, hay una funcionalidad diferente para cada método http –
para ocultar la visibilidad de su token –