Mientras almaceno datos en sessionStorage para una aplicación de reacción, no puedo ocultar el ID de usuario del userid en el navegador. ¿Cómo puedo hacerlo?
No se puede ocultar nada en el navegador, independientemente de dónde o cómo se almacene. En el momento en que algo se envía por cable hacia/desde el cliente, es visible en el lado del cliente.
Considere usar algo como tokens JWT y un servidor back-end para la autenticación (alternativamente, puede usar Firebase, Auth0 o Supabase auth si no desea instalar su propio servidor).
Con tokens JWT (o esencialmente, tener algún tipo de "token de acceso" para la sesión de su usuario), enviaría estos tokens con cada solicitud de API a la API. La API luego podría validar estos tokens usando "secretos" (es decir, valores relacionados con el cifrado que solo su servidor conoce para ayudar a decodificar y validar estos tokens, para que ningún cliente los vea) y confirmar la sesión de su usuario.
No puede ocultar ningún dato que se envíe al cliente. En el navegador no se puede ocultar nada.
Lo que puede hacer es usar el token JWT para almacenar el ID de usuario en la carga útil de JWT. Cada vez que se realiza una solicitud, al BE puede verificar si el token es válido o no y, si es válido, puede decodificar el token y obtener la identificación de usuario y usarla para su posterior procesamiento.
NOTA: Es un buen enfoque no enviar la identificación del usuario en la solicitud, obtenerla del token de autenticación.