ula titulo solicitud planilla para legalizacion grados egresados documentos constancias concursos certificaciones autenticar login logout http-method

login - titulo - solicitud documentos egresados ula



¿Qué método debo usar para una solicitud de inicio de sesión(autenticación)? (4)

Me gustaría saber qué método http debo usar al realizar una solicitud de inicio de sesión y por qué. Dado que esta solicitud crea un objeto (una sesión de usuario) en el servidor, creo que debería ser POST, ¿qué piensa? Pero como la solicitud de inicio de sesión debe ser idempotente, podría ser PUT, ¿verdad?

La misma pregunta para una solicitud de cierre de sesión, ¿debo usar el método DELETE?


Aquí está mi solución que se basa en recomendaciones y guías REST:

INICIAR SESIÓN - crear un recurso

Solicitud:

POST => https://example.com/sessions/ BODY => {''login'': ''[email protected]'', ''password'': ''123456''}

Respuesta:

http status code 201 {''token'': ''761b69db-ace4-49cd-84cb-4550be231e8f''}

LOGOUT - borrar un recurso

Solicitud:

DELETE => https://example.com/sessions/761b69db-ace4-49cd-84cb-4550be231e8f/

Respuesta:

http status code 200


Creo que puede traducir los métodos de inicio y cierre de sesión en las operaciones CRUD básicas CREAR Y BORRAR. Ya que está creando un nuevo recurso llamado SESSION y destruyéndolo al cerrar sesión:

  1. POST / login - crea sesión
  2. BORRAR / cerrar sesión - destruye sesión

Nunca haría el inicio de sesión como GET simplemente porque cualquiera podría atacar simplemente enviando un correo electrónico con etiqueta IMG o un enlace al sitio web donde existe dicha etiqueta IMG. ( <img src="youtsite.com/logout" /> )

PD. Hace tiempo que me preguntaba cómo crearía un inicio / cierre de sesión RESTful y resultó que es realmente sencillo, lo hace como lo describí: use / session / endpoint con los métodos CREATE y DELETE y está bien. También puede usar ACTUALIZAR si desea actualizar la sesión de una manera u otra ...


Para solicitud de inicio de sesión debemos utilizar el método POST. Porque nuestros datos de inicio de sesión son seguros y necesitan seguridad. Cuando se utiliza el método POST, los datos se envían al servidor en un paquete. Pero en el método GET, los datos se envían al servidor seguido de la url, como adjuntar con la solicitud de url, que será vista por todos.

Por lo tanto, para la autenticación segura y el proceso de autorización, debemos utilizar el método POST.

Espero que esta solución te ayude.

Gracias


Si su solicitud de inicio de sesión es a través de un usuario que proporciona un nombre de usuario y una contraseña, entonces es preferible un POST, ya que los detalles se enviarán en el cuerpo de los mensajes HTTP en lugar de la URL. Aunque aún se enviará texto sin formato, a menos que esté encriptado a través de https.

El método HTTP DELETE es una solicitud para eliminar algo en el servidor. No creo que BORRAR una sesión de usuario en memoria sea realmente lo que se pretende; más es para borrar el registro de usuario. Así que potencialmente cerrar sesión puede ser solo un GET, por ejemplo, www.yoursite.com/logout.