Compare commits

...

12 Commits

Author SHA1 Message Date
LinuxServer-CI
f9a5348035 Bot Updating Package Versions 2023-05-20 03:17:47 +00:00
LinuxServer-CI
ba685e7fd0 Bot Updating Package Versions 2023-05-18 14:13:47 +00:00
LinuxServer-CI
97782cdbed Bot Updating Package Versions 2023-05-17 15:54:17 +00:00
LinuxServer-CI
38bbfb2d01 Bot Updating Package Versions 2023-05-13 03:19:42 +00:00
LinuxServer-CI
5b492be3d7 Bot Updating Package Versions 2023-05-11 18:48:13 +00:00
Eric Nemchik
74069d4742 Merge pull request #366 from linuxserver/auth-updates
Simplify auth configs and fix Set-Cookie header bug
2023-05-11 13:44:19 -05:00
LinuxServer-CI
c77eca9ec3 Bot Updating Package Versions 2023-05-09 21:16:20 +00:00
Eric Nemchik
5b4a34c0e3 Merge branch 'master' into auth-updates 2023-05-07 09:20:27 -05:00
Eric Nemchik
77b9dc3348 Unsimplify 2023-04-27 20:53:07 +00:00
Eric Nemchik
a2e3c8b9fb Backwards compatibility and additional cookie handling tweaks 2023-04-27 20:31:05 +00:00
Eric Nemchik
d8f252dd73 Adjust auth confs to fix cookie header conflict 2023-04-27 18:53:51 +00:00
Eric Nemchik
9cdedad1c8 Simplify auth configs and include updates for Authelia 4.38 2023-04-24 19:06:25 +00:00
7 changed files with 122 additions and 120 deletions

View File

@@ -336,6 +336,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **27.04.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-location.conf, authelia-server.conf, authentik-location.conf, authentik-server.conf - Simplify auth configs and fix Set-Cookie header bug.
* **13.04.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik. * **13.04.23:** - [Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik.
* **25.03.23:** - Fix renewal post hook. * **25.03.23:** - Fix renewal post hook.
* **10.03.23:** - Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0). * **10.03.23:** - Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0).

View File

@@ -1,8 +1,8 @@
NAME VERSION TYPE NAME VERSION TYPE
ConfigArgParse 1.5.3 python ConfigArgParse 1.5.3 python
PyJWT 2.6.0 python PyJWT 2.7.0 python
PyYAML 6.0 python PyYAML 6.0 python
acme 2.5.0 python acme 2.6.0 python
alpine-baselayout 3.4.0-r0 apk alpine-baselayout 3.4.0-r0 apk
alpine-baselayout-data 3.4.0-r0 apk alpine-baselayout-data 3.4.0-r0 apk
alpine-keys 2.4-r1 apk alpine-keys 2.4-r1 apk
@@ -16,66 +16,66 @@ argon2-libs 20190702-r2 apk
attrs 23.1.0 python attrs 23.1.0 python
azure-common 1.1.28 python azure-common 1.1.28 python
azure-core 1.26.4 python azure-core 1.26.4 python
azure-identity 1.12.0 python azure-identity 1.13.0 python
azure-mgmt-core 1.4.0 python azure-mgmt-core 1.4.0 python
azure-mgmt-dns 8.0.0 python azure-mgmt-dns 8.0.0 python
bash 5.2.15-r0 apk bash 5.2.15-r0 apk
beautifulsoup4 4.12.2 python beautifulsoup4 4.12.2 python
boto3 1.26.129 python boto3 1.26.137 python
botocore 1.29.129 python botocore 1.29.137 python
brotli-libs 1.0.9-r9 apk brotli-libs 1.0.9-r9 apk
bs4 0.0.1 python bs4 0.0.1 python
busybox 1.35.0 binary busybox 1.35.0 binary
busybox 1.35.0-r29 apk busybox 1.35.0-r29 apk
busybox-binsh 1.35.0-r29 apk busybox-binsh 1.35.0-r29 apk
c-client 2007f-r14 apk c-client 2007f-r14 apk
ca-certificates 20220614-r4 apk ca-certificates 20230506-r0 apk
ca-certificates-bundle 20220614-r4 apk ca-certificates-bundle 20230506-r0 apk
cachetools 5.3.0 python cachetools 5.3.0 python
certbot 2.5.0 python certbot 2.6.0 python
certbot-dns-acmedns 0.1.0 python certbot-dns-acmedns 0.1.0 python
certbot-dns-aliyun 2.0.0 python certbot-dns-aliyun 2.0.0 python
certbot-dns-azure 2.1.0 python certbot-dns-azure 2.1.0 python
certbot-dns-cloudflare 2.5.0 python certbot-dns-cloudflare 2.6.0 python
certbot-dns-cpanel 0.4.0 python certbot-dns-cpanel 0.4.0 python
certbot-dns-desec 1.2.1 python certbot-dns-desec 1.2.1 python
certbot-dns-digitalocean 2.5.0 python certbot-dns-digitalocean 2.6.0 python
certbot-dns-directadmin 1.0.3 python certbot-dns-directadmin 1.0.3 python
certbot-dns-dnsimple 2.5.0 python certbot-dns-dnsimple 2.6.0 python
certbot-dns-dnsmadeeasy 2.5.0 python certbot-dns-dnsmadeeasy 2.6.0 python
certbot-dns-dnspod 0.1.0 python certbot-dns-dnspod 0.1.0 python
certbot-dns-do 0.31.0 python certbot-dns-do 0.31.0 python
certbot-dns-domeneshop 0.2.9 python certbot-dns-domeneshop 0.2.9 python
certbot-dns-duckdns 1.3 python certbot-dns-duckdns 1.3 python
certbot-dns-dynu 0.0.4 python certbot-dns-dynu 0.0.4 python
certbot-dns-gehirn 2.5.0 python certbot-dns-gehirn 2.6.0 python
certbot-dns-godaddy 0.2.2 python certbot-dns-godaddy 0.2.2 python
certbot-dns-google 2.5.0 python certbot-dns-google 2.6.0 python
certbot-dns-google-domains 0.1.11 python certbot-dns-google-domains 0.1.11 python
certbot-dns-he 1.0.0 python certbot-dns-he 1.0.0 python
certbot-dns-hetzner 2.0.0 python certbot-dns-hetzner 2.0.0 python
certbot-dns-infomaniak 0.2.1 python certbot-dns-infomaniak 0.2.1 python
certbot-dns-inwx 2.2.0 python certbot-dns-inwx 2.2.0 python
certbot-dns-ionos 2022.11.24 python certbot-dns-ionos 2022.11.24 python
certbot-dns-linode 2.5.0 python certbot-dns-linode 2.6.0 python
certbot-dns-loopia 1.0.1 python certbot-dns-loopia 1.0.1 python
certbot-dns-luadns 2.5.0 python certbot-dns-luadns 2.6.0 python
certbot-dns-netcup 1.2.0 python certbot-dns-netcup 1.3.0 python
certbot-dns-njalla 1.0.0 python certbot-dns-njalla 1.0.0 python
certbot-dns-nsone 2.5.0 python certbot-dns-nsone 2.6.0 python
certbot-dns-ovh 2.5.0 python certbot-dns-ovh 2.6.0 python
certbot-dns-porkbun 0.8 python certbot-dns-porkbun 0.8 python
certbot-dns-rfc2136 2.5.0 python certbot-dns-rfc2136 2.6.0 python
certbot-dns-route53 2.5.0 python certbot-dns-route53 2.6.0 python
certbot-dns-sakuracloud 2.5.0 python certbot-dns-sakuracloud 2.6.0 python
certbot-dns-standalone 1.1 python certbot-dns-standalone 1.1 python
certbot-dns-transip 0.5.2 python certbot-dns-transip 0.5.2 python
certbot-dns-vultr 1.0.3 python certbot-dns-vultr 1.0.3 python
certbot-plugin-gandi 1.4.3 python certbot-plugin-gandi 1.4.3 python
certifi 2022.12.7 python certifi 2023.5.7 python
cffi 1.15.1 python cffi 1.15.1 python
charset-normalizer 3.1.0 python charset-normalizer 3.1.0 python
cloudflare 2.11.1 python cloudflare 2.11.3 python
configobj 5.0.8 python configobj 5.0.8 python
coreutils 9.1-r0 apk coreutils 9.1-r0 apk
cryptography 40.0.2 python cryptography 40.0.2 python
@@ -104,7 +104,7 @@ gnupg-wks-client 2.2.40-r0 apk
gnutls 3.7.8-r3 apk gnutls 3.7.8-r3 apk
google-api-core 2.11.0 python google-api-core 2.11.0 python
google-api-python-client 2.86.0 python google-api-python-client 2.86.0 python
google-auth 2.17.3 python google-auth 2.18.1 python
google-auth-httplib2 0.1.0 python google-auth-httplib2 0.1.0 python
googleapis-common-protos 1.59.0 python googleapis-common-protos 1.59.0 python
gpg 2.2.40-r0 apk gpg 2.2.40-r0 apk
@@ -133,7 +133,7 @@ libbsd 0.11.7-r0 apk
libbz2 1.0.8-r4 apk libbz2 1.0.8-r4 apk
libc-utils 0.7.2-r3 apk libc-utils 0.7.2-r3 apk
libcrypto3 3.0.8-r4 apk libcrypto3 3.0.8-r4 apk
libcurl 8.0.1-r0 apk libcurl 8.1.0-r1 apk
libdav1d 1.0.0-r2 apk libdav1d 1.0.0-r2 apk
libedit 20221030.3.1-r0 apk libedit 20221030.3.1-r0 apk
libevent 2.1.12-r5 apk libevent 2.1.12-r5 apk
@@ -156,7 +156,7 @@ libmemcached-libs 1.0.18-r5 apk
libmnl 1.0.5-r0 apk libmnl 1.0.5-r0 apk
libnftnl 1.2.4-r0 apk libnftnl 1.2.4-r0 apk
libpng 1.6.38-r0 apk libpng 1.6.38-r0 apk
libpq 15.2-r0 apk libpq 15.3-r0 apk
libproc 3.3.17-r2 apk libproc 3.3.17-r2 apk
libsasl 2.1.28-r3 apk libsasl 2.1.28-r3 apk
libseccomp 2.5.4-r0 apk libseccomp 2.5.4-r0 apk
@@ -192,7 +192,7 @@ mpdecimal 2.5.1-r1 apk
msal 1.22.0 python msal 1.22.0 python
msal-extensions 1.0.0 python msal-extensions 1.0.0 python
msrest 0.7.1 python msrest 0.7.1 python
musl 1.2.3-r4 apk musl 1.2.3-r5 apk
musl-utils 1.2.3-r4 apk musl-utils 1.2.3-r4 apk
mypy-extensions 1.0.0 python mypy-extensions 1.0.0 python
nano 7.0-r0 apk nano 7.0-r0 apk
@@ -221,7 +221,6 @@ nginx-mod-stream 1.22.1-r0 apk
nginx-mod-stream-geoip2 1.22.1-r0 apk nginx-mod-stream-geoip2 1.22.1-r0 apk
nginx-vim 1.22.1-r0 apk nginx-vim 1.22.1-r0 apk
npth 1.6-r2 apk npth 1.6-r2 apk
oauth2client 4.1.3 python
oauthlib 3.2.2 python oauthlib 3.2.2 python
oniguruma 6.9.8-r0 apk oniguruma 6.9.8-r0 apk
openssl 3.0.8-r4 apk openssl 3.0.8-r4 apk
@@ -233,36 +232,36 @@ pcre2 10.42-r0 apk
perl 5.36.0-r1 apk perl 5.36.0-r1 apk
perl-error 0.17029-r1 apk perl-error 0.17029-r1 apk
perl-git 2.38.5-r0 apk perl-git 2.38.5-r0 apk
php-cli 8.1.18 binary php-cli 8.1.19 binary
php-fpm 8.1.18 binary php-fpm 8.1.19 binary
php81 8.1.18-r0 apk php81 8.1.19-r0 apk
php81-bcmath 8.1.18-r0 apk php81-bcmath 8.1.19-r0 apk
php81-bz2 8.1.18-r0 apk php81-bz2 8.1.19-r0 apk
php81-common 8.1.18-r0 apk php81-common 8.1.19-r0 apk
php81-ctype 8.1.18-r0 apk php81-ctype 8.1.19-r0 apk
php81-curl 8.1.18-r0 apk php81-curl 8.1.19-r0 apk
php81-dom 8.1.18-r0 apk php81-dom 8.1.19-r0 apk
php81-exif 8.1.18-r0 apk php81-exif 8.1.19-r0 apk
php81-fileinfo 8.1.18-r0 apk php81-fileinfo 8.1.19-r0 apk
php81-fpm 8.1.18-r0 apk php81-fpm 8.1.19-r0 apk
php81-ftp 8.1.18-r0 apk php81-ftp 8.1.19-r0 apk
php81-gd 8.1.18-r0 apk php81-gd 8.1.19-r0 apk
php81-gmp 8.1.18-r0 apk php81-gmp 8.1.19-r0 apk
php81-iconv 8.1.18-r0 apk php81-iconv 8.1.19-r0 apk
php81-imap 8.1.18-r0 apk php81-imap 8.1.19-r0 apk
php81-intl 8.1.18-r0 apk php81-intl 8.1.19-r0 apk
php81-ldap 8.1.18-r0 apk php81-ldap 8.1.19-r0 apk
php81-mbstring 8.1.18-r0 apk php81-mbstring 8.1.19-r0 apk
php81-mysqli 8.1.18-r0 apk php81-mysqli 8.1.19-r0 apk
php81-mysqlnd 8.1.18-r0 apk php81-mysqlnd 8.1.19-r0 apk
php81-opcache 8.1.18-r0 apk php81-opcache 8.1.19-r0 apk
php81-openssl 8.1.18-r0 apk php81-openssl 8.1.19-r0 apk
php81-pdo 8.1.18-r0 apk php81-pdo 8.1.19-r0 apk
php81-pdo_mysql 8.1.18-r0 apk php81-pdo_mysql 8.1.19-r0 apk
php81-pdo_odbc 8.1.18-r0 apk php81-pdo_odbc 8.1.19-r0 apk
php81-pdo_pgsql 8.1.18-r0 apk php81-pdo_pgsql 8.1.19-r0 apk
php81-pdo_sqlite 8.1.18-r0 apk php81-pdo_sqlite 8.1.19-r0 apk
php81-pear 8.1.18-r0 apk php81-pear 8.1.19-r0 apk
php81-pecl-apcu 5.1.22-r0 apk php81-pecl-apcu 5.1.22-r0 apk
php81-pecl-igbinary 3.2.12-r0 apk php81-pecl-igbinary 3.2.12-r0 apk
php81-pecl-mailparse 3.1.4-r0 apk php81-pecl-mailparse 3.1.4-r0 apk
@@ -270,28 +269,28 @@ php81-pecl-mcrypt 1.0.6-r0 apk
php81-pecl-memcached 3.2.0-r0 apk php81-pecl-memcached 3.2.0-r0 apk
php81-pecl-redis 5.3.7-r0 apk php81-pecl-redis 5.3.7-r0 apk
php81-pecl-xmlrpc 1.0.0_rc3-r1 apk php81-pecl-xmlrpc 1.0.0_rc3-r1 apk
php81-pgsql 8.1.18-r0 apk php81-pgsql 8.1.19-r0 apk
php81-phar 8.1.18-r0 apk php81-phar 8.1.19-r0 apk
php81-posix 8.1.18-r0 apk php81-posix 8.1.19-r0 apk
php81-session 8.1.18-r0 apk php81-session 8.1.19-r0 apk
php81-simplexml 8.1.18-r0 apk php81-simplexml 8.1.19-r0 apk
php81-soap 8.1.18-r0 apk php81-soap 8.1.19-r0 apk
php81-sockets 8.1.18-r0 apk php81-sockets 8.1.19-r0 apk
php81-sodium 8.1.18-r0 apk php81-sodium 8.1.19-r0 apk
php81-sqlite3 8.1.18-r0 apk php81-sqlite3 8.1.19-r0 apk
php81-tokenizer 8.1.18-r0 apk php81-tokenizer 8.1.19-r0 apk
php81-xml 8.1.18-r0 apk php81-xml 8.1.19-r0 apk
php81-xmlreader 8.1.18-r0 apk php81-xmlreader 8.1.19-r0 apk
php81-xmlwriter 8.1.18-r0 apk php81-xmlwriter 8.1.19-r0 apk
php81-xsl 8.1.18-r0 apk php81-xsl 8.1.19-r0 apk
php81-zip 8.1.18-r0 apk php81-zip 8.1.19-r0 apk
pinentry 1.2.1-r0 apk pinentry 1.2.1-r0 apk
pip 23.1.2 python pip 23.1.2 python
pkb-client 1.2 python pkb-client 1.2 python
popt 1.19-r0 apk popt 1.19-r0 apk
portalocker 2.7.0 python portalocker 2.7.0 python
procps 3.3.17-r2 apk procps 3.3.17-r2 apk
protobuf 4.22.4 python protobuf 4.23.1 python
publicsuffixlist 0.9.4 python publicsuffixlist 0.9.4 python
pyOpenSSL 23.1.1 python pyOpenSSL 23.1.1 python
pyRFC3339 1.1 python pyRFC3339 1.1 python
@@ -322,7 +321,7 @@ soupsieve 2.4.1 python
sqlite-libs 3.40.1-r0 apk sqlite-libs 3.40.1-r0 apk
ssl_client 1.35.0-r29 apk ssl_client 1.35.0-r29 apk
tiff 4.4.0-r3 apk tiff 4.4.0-r3 apk
tldextract 3.4.1 python tldextract 3.4.4 python
typing-inspect 0.8.0 python typing-inspect 0.8.0 python
typing_extensions 4.5.0 python typing_extensions 4.5.0 python
tzdata 2023c-r0 apk tzdata 2023c-r0 apk

View File

@@ -154,6 +154,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "27.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) authelia-location.conf, authelia-server.conf, authentik-location.conf, authentik-server.conf - Simplify auth configs and fix Set-Cookie header bug." }
- { date: "13.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik." } - { date: "13.04.23:", desc: "[Existing users should update:](https://github.com/linuxserver/docker-swag/blob/master/README.md#updating-configs) nginx.conf, authelia-location.conf, authentik-location.conf, and site-confs/default.conf - Move ssl.conf include to default.conf. Remove Authorization headers in authelia. Sort proxy_set_header in authelia and authentik." }
- { date: "25.03.23:", desc: "Fix renewal post hook." } - { date: "25.03.23:", desc: "Fix renewal post hook." }
- { date: "10.03.23:", desc: "Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0)." } - { date: "10.03.23:", desc: "Cleanup unused csr and keys folders. See [certbot 2.3.0 release notes](https://github.com/certbot/certbot/releases/tag/v2.3.0)." }

View File

@@ -1,25 +1,27 @@
## Version 2023/04/13 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample ## Version 2023/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-location.conf.sample
# Make sure that your authelia container is in the same user defined bridge network and is named authelia # Make sure that your authelia container is in the same user defined bridge network and is named authelia
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf # Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined # Make sure that the authelia configuration.yml has 'path: "authelia"' defined
## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource. ## Send a subrequest to Authelia to verify if the user is authenticated and has permission to access the resource
auth_request /authelia/api/verify; auth_request /authelia/api/verify;
## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal. ## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal
error_page 401 = @authelia_proxy_signin; error_page 401 = @authelia_proxy_signin;
## Translate response headers from Authelia into variables ## Translate the user information response headers from the auth subrequest into variables
auth_request_set $email $upstream_http_remote_email; auth_request_set $email $upstream_http_remote_email;
auth_request_set $groups $upstream_http_remote_groups; auth_request_set $groups $upstream_http_remote_groups;
auth_request_set $name $upstream_http_remote_name; auth_request_set $name $upstream_http_remote_name;
auth_request_set $user $upstream_http_remote_user; auth_request_set $user $upstream_http_remote_user;
## Inject the response header variables into the request made to the actual upstream ## Inject the user information into the request made to the actual upstream
proxy_set_header Remote-Email $email; proxy_set_header Remote-Email $email;
proxy_set_header Remote-Groups $groups; proxy_set_header Remote-Groups $groups;
proxy_set_header Remote-Name $name; proxy_set_header Remote-Name $name;
proxy_set_header Remote-User $user; proxy_set_header Remote-User $user;
## Include the Set-Cookie header if present. ## Translate the Set-Cookie response header from the auth subrequest into a variable
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie;
## Translate the Location response header from the auth subrequest into a variable
auth_request_set $signin_url $upstream_http_location;

View File

@@ -1,4 +1,4 @@
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample ## Version 2023/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authelia-server.conf.sample
# Make sure that your authelia container is in the same user defined bridge network and is named authelia # Make sure that your authelia container is in the same user defined bridge network and is named authelia
# Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf # Rename /config/nginx/proxy-confs/authelia.subdomain.conf.sample to /config/nginx/proxy-confs/authelia.subdomain.conf
# Make sure that the authelia configuration.yml has 'path: "authelia"' defined # Make sure that the authelia configuration.yml has 'path: "authelia"' defined
@@ -19,9 +19,9 @@ location = /authelia/api/verify {
include /config/nginx/proxy.conf; include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf; include /config/nginx/resolver.conf;
set $upstream_authelia authelia; set $upstream_authelia authelia;
proxy_pass http://$upstream_authelia:9091/authelia/api/verify; proxy_pass http://$upstream_authelia:9091;
## Include the Set-Cookie header if present. ## Include the Set-Cookie header if present
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie; add_header Set-Cookie $set_cookie;
@@ -29,27 +29,25 @@ location = /authelia/api/verify {
proxy_set_header Content-Length ""; proxy_set_header Content-Length "";
} }
# Virtual location for authelia 401 redirects # virtual location for authelia 401 redirects
location @authelia_proxy_signin { location @authelia_proxy_signin {
internal; internal;
## Set the $target_url variable based on the original request. ## Include the Set-Cookie header if present
set_escape_uri $target_url $scheme://$http_host$request_uri;
## Include the Set-Cookie header if present.
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie; add_header Set-Cookie $set_cookie;
## Set $authelia_backend to route requests to the current domain by default ## Set the $target_url variable based on the original request
set $authelia_backend $http_host; set_escape_uri $target_url $scheme://$http_host$request_uri;
## In order for Webauthn to work with multiple domains authelia must operate on a separate subdomain
## To use authelia on a separate subdomain:
## * comment the $authelia_backend line above
## * rename /config/nginx/proxy-confs/authelia.conf.sample to /config/nginx/proxy-confs/authelia.conf
## * make sure that your dns has a cname set for authelia
## * uncomment the $authelia_backend line below and change example.com to your domain
## * restart the swag container
#set $authelia_backend authelia.example.com;
return 302 https://$authelia_backend/authelia/?rd=$target_url; ## Translate the Location response header from the auth subrequest into a variable
auth_request_set $signin_url $upstream_http_location;
if ($signin_url = '') {
## Set the $signin_url variable
set $signin_url https://$http_host/authelia/?rd=$target_url;
}
## Redirect to login
return 302 $signin_url;
} }

View File

@@ -1,26 +1,25 @@
## Version 2023/04/13 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-location.conf.sample ## Version 2023/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-location.conf.sample
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
# Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf # Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf
## Send a subrequest to Authentik to verify if the user is authenticated and has permission to access the resource. ## Send a subrequest to Authentik to verify if the user is authenticated and has permission to access the resource
auth_request /outpost.goauthentik.io/auth/nginx; auth_request /outpost.goauthentik.io/auth/nginx;
## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal. ## If the subreqest returns 200 pass to the backend, if the subrequest returns 401 redirect to the portal
error_page 401 = @goauthentik_proxy_signin; error_page 401 = @goauthentik_proxy_signin;
## Translate response headers from Authentik into variables ## Translate the user information response headers from the auth subrequest into variables
auth_request_set $authentik_email $upstream_http_x_authentik_email; auth_request_set $authentik_email $upstream_http_x_authentik_email;
auth_request_set $authentik_groups $upstream_http_x_authentik_groups; auth_request_set $authentik_groups $upstream_http_x_authentik_groups;
auth_request_set $authentik_name $upstream_http_x_authentik_name; auth_request_set $authentik_name $upstream_http_x_authentik_name;
auth_request_set $authentik_uid $upstream_http_x_authentik_uid; auth_request_set $authentik_uid $upstream_http_x_authentik_uid;
auth_request_set $authentik_username $upstream_http_x_authentik_username; auth_request_set $authentik_username $upstream_http_x_authentik_username;
## Inject the response header variables into the request made to the actual upstream ## Inject the user information into the request made to the actual upstream
proxy_set_header X-authentik-email $authentik_email; proxy_set_header X-authentik-email $authentik_email;
proxy_set_header X-authentik-groups $authentik_groups; proxy_set_header X-authentik-groups $authentik_groups;
proxy_set_header X-authentik-name $authentik_name; proxy_set_header X-authentik-name $authentik_name;
proxy_set_header X-authentik-uid $authentik_uid; proxy_set_header X-authentik-uid $authentik_uid;
proxy_set_header X-authentik-username $authentik_username; proxy_set_header X-authentik-username $authentik_username;
## Include the Set-Cookie header if present. ## Translate the Set-Cookie response header from the auth subrequest into a variable
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie;

View File

@@ -1,4 +1,4 @@
## Version 2023/02/09 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample ## Version 2023/04/27 - Changelog: https://github.com/linuxserver/docker-swag/commits/master/root/defaults/nginx/authentik-server.conf.sample
# Make sure that your authentik container is in the same user defined bridge network and is named authentik-server # Make sure that your authentik container is in the same user defined bridge network and is named authentik-server
# Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf # Rename /config/nginx/proxy-confs/authentik.subdomain.conf.sample to /config/nginx/proxy-confs/authentik.subdomain.conf
@@ -18,9 +18,9 @@ location = /outpost.goauthentik.io/auth/nginx {
include /config/nginx/proxy.conf; include /config/nginx/proxy.conf;
include /config/nginx/resolver.conf; include /config/nginx/resolver.conf;
set $upstream_authentik authentik-server; set $upstream_authentik authentik-server;
proxy_pass http://$upstream_authentik:9000/outpost.goauthentik.io/auth/nginx; proxy_pass http://$upstream_authentik:9000;
## Include the Set-Cookie header if present. ## Include the Set-Cookie header if present
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie; add_header Set-Cookie $set_cookie;
@@ -28,18 +28,20 @@ location = /outpost.goauthentik.io/auth/nginx {
proxy_set_header Content-Length ""; proxy_set_header Content-Length "";
} }
# Virtual location for authentik 401 redirects # virtual location for authentik 401 redirects
location @goauthentik_proxy_signin { location @goauthentik_proxy_signin {
internal; internal;
## Set the $target_url variable based on the original request. ## Include the Set-Cookie header if present
set_escape_uri $target_url $scheme://$http_host$request_uri;
## Include the Set-Cookie header if present.
auth_request_set $set_cookie $upstream_http_set_cookie; auth_request_set $set_cookie $upstream_http_set_cookie;
add_header Set-Cookie $set_cookie; add_header Set-Cookie $set_cookie;
## Set $authentik_backend to route requests to the current domain by default ## Set the $target_url variable based on the original request
set $authentik_backend $http_host; set_escape_uri $target_url $scheme://$http_host$request_uri;
return 302 https://$authentik_backend/outpost.goauthentik.io/start?rd=$target_url;
## Set the $signin_url variable
set $signin_url https://$http_host/outpost.goauthentik.io/start?rd=$target_url;
## Redirect to login
return 302 $signin_url;
} }