Open Supergamer1337 opened 1 year ago
Take a peek at this video: https://youtu.be/OBJa2G3Ef7o?t=426 to answer the first question.
Let me know if it works for you with the arr's family. I followed the video and it doesn't appear my credentials are being passed even though I can see them in the HTTP header.
So I had already done exactly as the video showed (though I'm using Traefik, and it's for Prowlarr), and sadly it doesn't work...
Okay, I had to update my middleware config in traefik from
## Setup middleware for those that want to use it
- "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik"
- "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version"
to
## Setup middleware for those that want to use it
- "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik"
- "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true"
- "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version,authorization"
or traefik didn't send the header along after authentication. (Notice the authorization at the end of the headers)
I don't use Traefik and I tried comparing to the Nginx setup:
...
# translate headers from the outposts back to the actual upstream
auth_request_set $authentik_username $upstream_http_x_authentik_username;
auth_request_set $authentik_groups $upstream_http_x_authentik_groups;
auth_request_set $authentik_email $upstream_http_x_authentik_email;
auth_request_set $authentik_name $upstream_http_x_authentik_name;
auth_request_set $authentik_uid $upstream_http_x_authentik_uid;
proxy_set_header X-authentik-username $authentik_username;
proxy_set_header X-authentik-groups $authentik_groups;
proxy_set_header X-authentik-email $authentik_email;
proxy_set_header X-authentik-name $authentik_name;
proxy_set_header X-authentik-uid $authentik_uid;
...
But don't see where I can make the edit if at all.
Else, I have another thread going here: https://github.com/goauthentik/authentik/issues/4381#issue-1523424263 which I outline my own issues.
Did you use proxy or forward auth?
~So I had already done exactly as the video showed (though I'm using Traefik, and it's for Prowlarr), and sadly it doesn't work...~
Okay, I had to update my middleware config in traefik from
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version"
to
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version,authorization"
or traefik didn't send the header along after authentication. (Notice the authorization at the end of the headers)
Thank you very much for this! Basic HTTP Authentication is working perfectly when including this extra header!
There is another thing one must do which I've just found out:
You need to set Authentication
to Basic (Browser Popup)
within Sonarr under General > Security.
It wouldn't work for me otherwise.
Another caveat to note: The user should be a direct member of the group that contains the basic auth credentials. If your user is member of the parent group but the credentials are set in a descendant group, then it will not work.
it would be good to add this to the existing caddy provider configuration for proxy (forward auth) providers as i was also experiencing this issue and the below resolved the issue for me.
~So I had already done exactly as the video showed (though I'm using Traefik, and it's for Prowlarr), and sadly it doesn't work...~ Okay, I had to update my middleware config in traefik from
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version"
to
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version,authorization"
or traefik didn't send the header along after authentication. (Notice the authorization at the end of the headers)
Thank you very much for this! Basic HTTP Authentication is working perfectly when including this extra header!
We'll update the reverse proxy snippets in the documentation to include the required headers
Hi, I am trying to get Basic auth working as well But I get this strange "error" authentik seems to get skipped or sometimes I see the authentik background and still the auth popup
the middleware is set up line this http: middlewares: middlewares-authentik: forwardAuth: address: "http://authentik_server:9000/outpost.goauthentik.io/auth/traefik" trustForwardHeader: true authResponseHeaders:
and the labels on the radarr instance are
Do you need any additional info?
Is it possible to use this for apps that use basic auth for authentication for api endpoints? I'd like to protect my /pub endpoint of owntracks, but it's not working. I presume because the app isn't handling the response from authentik properly? Yet I'd like to instantly give access if the username and password are correct. I prefer this, as I do not wish to set all my usernames and passwords in http auth as well. I have them in Authentik already.
~So I had already done exactly as the video showed (though I'm using Traefik, and it's for Prowlarr), and sadly it doesn't work...~
Okay, I had to update my middleware config in traefik from
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version"
to
## Setup middleware for those that want to use it - "traefik.http.middlewares.authentik.forwardauth.address=http://authentik-server:9000/outpost.goauthentik.io/auth/traefik" - "traefik.http.middlewares.authentik.forwardauth.trustForwardHeader=true" - "traefik.http.middlewares.authentik.forwardauth.authResponseHeaders=X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version,authorization"
or traefik didn't send the header along after authentication. (Notice the authorization at the end of the headers)
Thanks you very much! I was pulling my hair about this when trying to get it to run with Caddy.
Thanks to your post I found out that I just had to add Authorization
to the copy_headers
line. So for me it now looks like this:
copy_headers X-Authentik-Username X-Authentik-Groups X-Authentik-Email X-Authentik-Name X-Authentik-Uid X-Authentik-Jwt X-Authentik-Meta-Jwks X-Authentik-Meta-Outpost X-Authentik-Meta-Provider X-Authentik-Meta-App X-Authentik-Meta-Version Authorization
Just as quick FYI for anyone else who might be using Caddy.
X-authentik-username,X-authentik-groups,X-authentik-email,X-authentik-name,X-authentik-uid,X-authentik-jwt,X-authentik-meta-jwks,X-authentik-meta-outpost,X-authentik-meta-provider,X-authentik-meta-app,X-authentik-meta-version,authorization
@Supergamer1337 I owe you one!
Describe your question/ So I'm trying to figure out what the
Set HTTP-Basic Authentication
does. It does not seem to put up a basic auth endpoint, as I previously thought. Neither does it seem to pass those headers on to the application (as i still get the pop-up after authenticating through authentik) so what does it do and how do you use it?Relevant infos Running Traefik 2.9 as reverse proxy.
Version and Deployment (please complete the following information):
Additional context I've tried to use it to setup basic-auth for an endpoint that needed it, Calibre webserver /opds, as well as to bypass basic auth on Prowlarr. Both of these have not worked. What is the problem here?