Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5a00c5be

Von Moritz Bunkus vor 3 Monaten hinzugefügt

  • ID 5a00c5bee6c0048338013f7bf9e6e1aaad06e32b
  • Vorgänger 51d8e086
  • Nachfolger ab32c593

Auth: POD-Dokumentation für automatisches SSO mittels gewisser HTTP-Header

Unterschiede anzeigen:

SL/Auth/HTTPHeaders.pm
}
}
=pod
=encoding utf8
=head1 NAME
SL::Auth::HTTPHeaders - Automatically log in users based on headers
sent by upstream servers
=head1 OVERVIEW
This module implements two modes for automatic log in for users:
=over 4
=item HTTP Basic Authentication
=item passing user name & client ID via arbitrary headers
=back
The module must be enabled in the configuration file by setting
C<authentication.module=HTTPHeaders>. It is then configured by the
sections C<authentication/http_basic> & C<authentication/http_headers>.
=head1 SUPPORTED AUTHENTICATION METHODS
=head2 User name & client ID in HTTP headers
Must be enabled by setting
C<authentication/http_headers.enabled=1>. If enabled, it relies on
upstream servers (web server, proxy server) doing the authentication
with SSO solutions like Authelia & Authentik. These solutions must
then send the user name of the authenticated user in an HTTP header &
the desired client ID in another header.
In order to ensure no malicious third party can simply set these
header values, a shared secret must be configured in the configuration
file & sent along in a third header field.
The names of all three headers as well as the shared secret must be
set in the configuration file's C<authentication/http_headers>
section.
This mode is mutually exclusive with the HTTP Basic Authentication
mentioned below.
=head2 HTTP Basic Authentication (RFC 7617)
Must be enabled by setting C<authentication/http_basic.enabled=1>. If
enabled, it relies on the web server doing the authentication for it &
passing the result in the C<Authorization> header, which turns into e
environment variable C<HTTP_AUTHORIZATION> according to the CGI
specifications.
This mode only supports using the default client as no way to pass the
desired client ID has been implemented yet.
This mode is mutually exclusive with the "User name & client ID in
HTTP headers" mode mentioned above.
=head1 AUTHOR
Moritz Bunkus E<lt>m.bunkus@linet.deE<gt>
=cut
1;

Auch abrufbar als: Unified diff