Estoy haciendo una prueba técnica para una empresa y creé el token api de github y lo usé en la función de búsqueda (encabezados: Autorización), porque sin eso excedí el límite de búsqueda (20-30 llamadas por minuto), ahora tengo que impulsar mi proyecto github y ¿qué debo token? Sé que es personal, pero sin él, el sitio web falla si las llamadas de los usuarios se recuperan más de 20 a 30 veces por minuto, ¿qué debo hacer?
const getPoPularProfile = async () => { const api_url = 'https://api.github.com/search/users?q=repos:%3E800+followers:%3E1000&page=1&per_page=10'; const fetchProfile = await fetch(api_url,{ headers: { Authorization: `token my token ` } }); const profile = await fetchProfile.json(); setProfiles(profile.items); }así que ese es el código, se llama cada vez que el usuario escribe algo en la barra de búsqueda, sé que el límite de API de github es como miles por hora, pero si no está llamando a buscar en los mismos intervalos, son como 10-15 llamadas por minuto, y 20 -30 llamadas por minuto si usa el token de github, por eso estoy usando el token y la función setTimeout para evitar llamar a buscar más de 20 veces por minuto.
if(searchValue !== ''){ setShow(true); setSpinner(true); const timer = setTimeout(() => { getSearchedProfile(searchValue); }, 2200); return () => clearTimeout(timer); }y si no empuja el token con el proyecto y alguien clona mi código de github y lo aloja, el sitio se bloqueará porque excedió los límites.
Su código debe leer esta clave como una variable de entorno oa través de un administrador de secretos (por ejemplo, aws) o similar. No debe estar codificado.
Otros usuarios del código deben obtener su propia clave o una clave válida iniciando sesión en GitHub. Puede ofrecer comunicarles la clave por correo electrónico para su comodidad.
Incluso si tienen un repositorio privado, está mal visto enviar la clave al repositorio.
Finalmente, la clave solo debe usarse en el lado del servidor. Si la clave se usa en una página web pública del lado del cliente, entonces la ha compartido con cualquiera que se interese en hacer algunos clics y ver el tráfico de red de esa página web. Espero que su código se comunique con su API privada y que esa API use la clave para comunicarse con el servicio de la tercera parte.