feat: implement authentication functionality with login and logout endpoints

This commit is contained in:
2026-07-02 14:55:47 -03:00
parent a95cfc780b
commit 9a5a8e85b9
11 changed files with 351 additions and 31 deletions

View File

@@ -1173,6 +1173,119 @@
}
]
},
{
"name": "Auth",
"item": [
{
"name": "Register User",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"nombre_apellido\": \"Ada Lovelace\",\n \"email\": \"ada@example.com\",\n \"password\": \"secret123\",\n \"password_confirmation\": \"secret123\"\n}"
},
"url": {
"raw": "{{base_url}}/api/register",
"host": [
"{{base_url}}"
],
"path": [
"api",
"register"
]
}
},
"response": []
},
{
"name": "Login User",
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"const response = pm.response.json();",
"",
"if (response.token) {",
" pm.collectionVariables.set('auth_token', response.token);",
" console.log('auth_token saved to collection variables');",
"} else {",
" console.warn('Login response does not contain token');",
"}"
]
}
}
],
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"email\": \"ada@example.com\",\n \"password\": \"secret123\"\n}"
},
"url": {
"raw": "{{base_url}}/api/login",
"host": [
"{{base_url}}"
],
"path": [
"api",
"login"
]
}
},
"response": []
},
{
"name": "Logout User",
"request": {
"method": "POST",
"header": [
{
"key": "Accept",
"value": "application/json",
"type": "text"
}
],
"url": {
"raw": "{{base_url}}/api/logout",
"host": [
"{{base_url}}"
],
"path": [
"api",
"logout"
]
}
},
"response": []
}
]
},
{
"name": "Purchases",
"item": [
@@ -1185,11 +1298,6 @@
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{sanctum_token}}",
"type": "text"
}
],
"url": {
@@ -1217,11 +1325,6 @@
"value": "application/json",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{sanctum_token}}",
"type": "text"
},
{
"key": "Content-Type",
"value": "application/json",
@@ -1256,11 +1359,6 @@
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{sanctum_token}}",
"type": "text"
}
],
"url": {
@@ -1415,11 +1513,6 @@
"key": "Accept",
"value": "application/json",
"type": "text"
},
{
"key": "Authorization",
"value": "Bearer {{sanctum_token}}",
"type": "text"
}
],
"url": {
@@ -1444,7 +1537,14 @@
"script": {
"type": "text/javascript",
"exec": [
""
"const authToken = pm.collectionVariables.get('auth_token');",
"",
"if (authToken) {",
" pm.request.headers.upsert({",
" key: 'Authorization',",
" value: `Bearer ${authToken}`,",
" });",
"}"
]
}
},
@@ -1461,7 +1561,12 @@
"variable": [
{
"key": "base_url",
"value": "http://localhost:8000",
"value": "http://127.0.0.1:8000",
"type": "string"
},
{
"key": "auth_token",
"value": "",
"type": "string"
},
{
@@ -1528,11 +1633,6 @@
"key": "compra_id",
"value": "1",
"type": "string"
},
{
"key": "sanctum_token",
"value": "",
"type": "string"
}
]
}