Soy nuevo en webdev, así que perdónenme si esto es obvio, pero no puedo entender una solución.
Actualmente estoy alojando un sitio web estático en AWS S3. La página de inicio de sesión está disponible para el acceso público, pero todas las demás páginas solo están disponibles para un rol de IAM específico que asumirá un usuario autorizado. Una vez que un usuario ingresa sus credenciales de inicio de sesión, recibirá credenciales temporales de AWS que le otorgan acceso a páginas restringidas.
Mi pregunta es: ¿cómo cargo mediante programación una página web restringida? Normalmente haría algo como:
$('body').load(/path/to/index.html); Pero solo los usuarios con el rol de IAM pueden acceder a /path/to/index.html . Entonces, ¿necesito usar el SDK de S3 para acceder a ese archivo? En mi cabeza tendría que hacer algo como:
$('body').load(s3.getObject(/path/to/index.html));Pero eso en realidad no funcionaría.
¡Gracias por la ayuda!
No ponga la página (HTML) en sí misma como secreta. En su lugar, coloque sus datos esenciales en un archivo json y hágale un XHR.
Usando un marco frontend con enrutador, puede verificar si el usuario está autenticado y presentar un 403 si no.
El método depende de su marco, y no voy a describirlo. Puede usar AWS SDK para obtener de S3 con autenticación.