Guía de Integración de Autenticación
Esta guía muestra cómo implementar autenticación en tu aplicación usando la API de Console.
Ejemplo en React
import { useState, useEffect } from 'react';
const API_URL = 'https://api.console.solucao42.com.br/v1';
// Función de inicio de sesión
async function login(companySlug, email, password) {
const response = await fetch(`${API_URL}/auth/login`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ company_slug: companySlug, email, password })
});
const data = await response.json();
// Almacenar tokens
localStorage.setItem('access_token', data.access_token);
localStorage.setItem('refresh_token', data.refresh_token);
return data.user;
}
// Renovar token
async function refreshToken() {
const refresh_token = localStorage.getItem('refresh_token');
const response = await fetch(`${API_URL}/auth/refresh`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ refresh_token })
});
const data = await response.json();
localStorage.setItem('access_token', data.access_token);
localStorage.setItem('refresh_token', data.refresh_token);
return data.access_token;
}
// Cliente de API con auto-renovación
async function apiRequest(endpoint, options = {}) {
let token = localStorage.getItem('access_token');
const response = await fetch(`${API_URL}${endpoint}`, {
...options,
headers: {
'Authorization': `Bearer ${token}`,
'Content-Type': 'application/json',
...options.headers,
},
});
// Si es 401, intenta renovar el token
if (response.status === 401) {
token = await refreshToken();
return apiRequest(endpoint, options);
}
return response.json();
}
Ejemplo en Node.js
Consulta Referencia de la API: Autenticación para más detalles.