3.5 KiB
title | description | lead | date | draft | images | menu | weight | toc | community | aliases | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Komga | Integrating Komga with the Authelia OpenID Connect Provider. | 2022-06-15T17:51:47+10:00 | false |
|
620 | true | true |
|
Tested Versions
Before You Begin
You are required to utilize a unique client id and a unique and random client secret for all OpenID Connect relying parties. You should not use the client secret in this example, you should randomly generate one yourself. You may also choose to utilize a different client id, it's completely up to you.
This example makes the following assumptions:
- Application Root URL:
https://komga.example.com
- Authelia Root URL:
https://auth.example.com
- Client ID:
komga-auth
- Client Secret:
komga_client_secret
Configuration
Application
To configure Komga to utilize Authelia as an OpenID Connect Provider:
- Create an
Application.yml
according to the configuration options - Add a section that describes the spring boot security configuration
security:
oauth2:
client:
registration:
authelia:
client-id: `komga-auth`
client-secret: `komga_client_secret`
client-name: Authelia
scope: openid, email
authorization-grant-type: authorization_code
redirect-uri: "{baseScheme}://{baseHost}{basePort}{basePath}/login/oauth2/code/authelia"
provider:
authelia:
issuer-uri: `https:\\auth.example.com`
user-name-attribute: email
Optional configuration
You can enable some useful additional debug logging to application.yml
by adding the logging.level.org.springframework.security attribute
:
logging:
file.name: /config/logs/komga.log
level:
org:
springframework:
security: info #when changed to 'TRACE' adds additional spring security logging on top of komga logging.
gotson:
komga: info
Automatic creation of accounts (in Komga) by logging in with Authelia can be enabled with:
komga:
oauth2-account-creation: true
In certain cases it might be necessary to add:
server:
use-forward-headers: true
Authelia
The following YAML configuration is an example Authelia client configuration for use with [Portainer] which will operate with the above example:
-
id: komga-auth
description: Komga Comics OpenID
secret: `komga_client_secret`
public: false
authorization_policy: two_factor
audience: []
scopes:
- openid
- email
redirect_uris:
- https://komga.example.com/login/oauth2/code/authelia
grant_types:
- authorization_code
userinfo_signing_algorithm: none
Note: make sure that the userinfo_signing_algorithm
is set to none
, or Komga will throw an application\jwt
error.