Ancestors

Written by Nepo on 2024-12-01 at 19:50

I'm struggling to understand what Authelia does, but it seems like something that might solve my current problem. If someone has experience with it: can you have it map mydomain.com/service1 to a docker server, then mydomain.com/service2 to another server, only when you successfully login? Does it provide authentication kinda like those apps that let you login with google/facebook/etc.? Does it generate users in the servers or is that up to me? Thanks in advance!

Boosts appreciated for reach 🙏

=> More informations about this toot | More toots from nepo@gamedev.lgbt

Written by Nadia (sanderson brainrot ed.) on 2024-12-01 at 20:02

@nepo Authelia hace muchas de esas cosas, dependiendo de lo que necesites.

Por un lado se integra con un sitio donde haya usuarios. Puede ser una base de datos interna, o un LDAP: https://www.authelia.com/configuration/first-factor/introduction/

Por otro lado, provee APIs para que diversas cosas usen authelia como proveedor de autenticación. Grosso modo, hay dos tipos de aplicaciones: Aquellas que soportan autenticación externa, y aquellas que no. Esto depende de si la apliación se ha picado un módulo para hacer eso o no.

Las primeras pueden usar Authelia como un proveedor OIDC, que es el "login with google". También pueden usar Oauth2, si la aplicación lo soporta.

Las segundas son las apliaciones que no soportan login externo (que son la vasta mayoría). Ahí authelia puede integrarse, en vez de con la apliación, con tu proxy inverso (nginx, traefik, haproxy). Para cada request que tu proxy inverso reciba, antes de pasarla a la aplicación, el proxy le pregunta a authelia: ¿Puede esta cookie acceder a esto? https://www.authelia.com/reference/guides/proxy-authorization/

=> More informations about this toot | More toots from nadia@owo.cafe

Written by Nadia (sanderson brainrot ed.) on 2024-12-01 at 20:03

@nepo Si authelia dice que la cookie puede acceder, palante. Si authelia dice que no, el proxy tira 403 (o similar). Si no hay cookie, el proxy manda un 302 a la URL de login de authelia, que tras completarlo te pone la cookie y te redirige a la URL original.

En este caso la aplicación no se entera de la misa la mitad (para lo bueno y para lo malo).

=> More informations about this toot | More toots from nadia@owo.cafe

Written by Nadia (sanderson brainrot ed.) on 2024-12-01 at 20:04

@nepo Si lo que quieres es poner un login genérico que dicta qué personas pueden acceder a según que apps, el método del proxy va estupendo. Si lo que necesitas es que la app sepa quién está accediendo, necesitas que la app se integre con OIDC.

=> More informations about this toot | More toots from nadia@owo.cafe

Written by Nepo on 2024-12-01 at 20:12

@nadia estupendo, es justo lo que necesito 🤩🤩🤩

¡Muchísimas gracias!

¿Se pueden usar las 2 a la vez? Es decir:

¿O es muy raro hacer eso?

Me gustaría que la experiencia fuera: haces login en authelia y de repente tienes acceso a las aplicaciones, ya logged in

=> More informations about this toot | More toots from nepo@gamedev.lgbt

Toot

Written by Nadia (sanderson brainrot ed.) on 2024-12-01 at 21:23

@nepo Si quieres que la apliación sepa qué usuario eres, la aplicación tiene que soportar OIDC.

Hay... algún workaround que puedes hacer. Puedes decirle a nginx que le ponga a la apliación en un header el usuario que authelia le devuelve. Pero pocas aplicaciones soportan esto también. Al final lo que te ata es lo que la gente que hace la app ha querido hacer.

=> More informations about this toot | More toots from nadia@owo.cafe

Descendants

Written by Nepo on 2024-12-01 at 21:52

@nadia Vale, tiene mucho sentido. ¡Muchísimas gracias de nuevo! Intento configurarlo para hacer pruebas, entonces ^^

=> More informations about this toot | More toots from nepo@gamedev.lgbt

Written by Nepo on 2024-12-03 at 15:45

¡Hola @nadia ! Disculpa que vuelva a molestarte, pero... ¿tendría sentido tener Authelia corriendo en AWS y un proxy en LAN que lleve a los servicios que sean?

Pienso que de esa manera sólo expongo 1 puerto y minimizo el area de ataque para posibles hackers. Aunque sería más lento y posiblemente molesto de mantener. ¿Es muy paranoico? xd

¿Cómo lo tienes montado tú? 👀

=> More informations about this toot | More toots from nepo@gamedev.lgbt

Written by Nadia (sanderson brainrot ed.) on 2024-12-03 at 16:07

@nepo Es razonable publicar solo tu proxy inverso a internet y no todo lo demás, sep.

Esa topología de un nodo "gateway" públicamente accesible y el resto en otra parte (e.g. en otra zona, o incluso detrás de VPN) también es bastante común. Sí intentaría que el network path entre tu proxy y authelia sea lo más corto posible, porque el proxy le preguntará a authelia muy frecuentemente si X request está okay o no.

=> More informations about this toot | More toots from nadia@owo.cafe

Written by Nadia (sanderson brainrot ed.) on 2024-12-03 at 16:12

@nepo Normalmente a authelia en sí mismo no accedes directamente, accedes a tu proxy inverso. Es el proxy inverso el que habla luego con authelia (para autenticar) y con las demás aplicaciones (para hacer de proxy).

=> More informations about this toot | More toots from nadia@owo.cafe

Written by Nepo on 2024-12-03 at 18:53

@nadia ¡¡¡aaaaahhh, valeeeee!!! Entonces Authelia ya le hace redirección dentro de la misma máquina o la misma LAN, ¿no? Tiene todo el sentido del mundo. ¡Muchísimas gracias de nuevo! ❤️

=> More informations about this toot | More toots from nepo@gamedev.lgbt

Written by Nadia (sanderson brainrot ed.) on 2024-12-04 at 12:13

@nepo Authelia le dice al proxy inverso "no miarma esta request no está logueada", y el proxy inverso te manda a ti (el cliente) un 302 para que vayas a loguearte. Con el login hecho, en la siguiente request, authelia le dice al proxy que todo ok, y el proxy es el que dirige la request a la lan o a donde tenga que ser, ya dependiendo solo de su configuración de proxy inverso.

=> More informations about this toot | More toots from nadia@owo.cafe

Proxy Information
Original URL
gemini://mastogem.picasoft.net/thread/113579670414990289
Status Code
Success (20)
Meta
text/gemini
Capsule Response Time
323.039914 milliseconds
Gemini-to-HTML Time
2.991471 milliseconds

This content has been proxied by September (3851b).