docs: oidc kogma (#3893)
Co-authored-by: James Elliott <james-d-elliott@users.noreply.github.com>pull/3847/head^2
parent
0ddeae4a60
commit
657463a3e6
|
@ -0,0 +1,131 @@
|
||||||
|
---
|
||||||
|
title: "Komga"
|
||||||
|
description: "Integrating Komga with the Authelia OpenID Connect Provider."
|
||||||
|
lead: ""
|
||||||
|
date: 2022-06-15T17:51:47+10:00
|
||||||
|
draft: false
|
||||||
|
images: []
|
||||||
|
menu:
|
||||||
|
integration:
|
||||||
|
parent: "openid-connect"
|
||||||
|
weight: 620
|
||||||
|
toc: true
|
||||||
|
community: true
|
||||||
|
aliases:
|
||||||
|
- /docs/community/oidc-integrations/komga.html
|
||||||
|
---
|
||||||
|
|
||||||
|
## Tested Versions
|
||||||
|
|
||||||
|
* [Authelia]
|
||||||
|
* [v4.36.4](https://github.com/authelia/authelia/releases/tag/v4.36.4)
|
||||||
|
* [Komga]
|
||||||
|
* [v0.157.1](https://github.com/gotson/komga/releases/tag/v0.157.1)
|
||||||
|
|
||||||
|
## 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:
|
||||||
|
|
||||||
|
1. Create an `Application.yml` according to the [configuration options](https://komga.org/installation/configuration.html)
|
||||||
|
2. Add a section that describes the spring boot security configuration
|
||||||
|
|
||||||
|
|
||||||
|
```spring:
|
||||||
|
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](../../../configuration/identity-providers/open-id-connect.md#clients) for use with [Portainer]
|
||||||
|
which will operate with the above example:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
-
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
||||||
|
## See Also
|
||||||
|
|
||||||
|
* [Komga Social login Documentation](https://komga.org/installation/oauth2.html)
|
||||||
|
|
||||||
|
[Authelia]: https://www.authelia.com
|
||||||
|
[Komga]: https://www.komga.org
|
||||||
|
[OpenID Connect]: ../../openid-connect/introduction.md
|
Loading…
Reference in New Issue