Salut
J’essaye de refaire fonctionner l’application Komga.
Sauf que je n’arrive pas à régler un problème d’autorisation sur son api…
Un peu de contexte.
Actuellement cette application est “cassée” au si bien sur une installation que sur une mise à jours.
Dans un premier temps je me concentre sur installation.
L’installation se passe sans problème mais lorsque l’on essaye d’accéder à l’application on a une page de login alors qu’on a pas encore créé d’utilisateur.
Etrange car théoriquement on devrait avoir la page permettant de créer un utilisateur administrateur.
(Note : Paramètre d’installation : « Qui doit avoir accès à cette application ? » = « Visiteurs »)
Si on a un éclaire de génie à ce moment là, on ouvre les outils de débug notre navigateur web favoris, on voit ce genre de choses:
GET https://mondomaine.fr/komga/api/v2/users/me 401 (Unauthorized)
GET https://mondomaine.fr/komga/api/v1/oauth2/providers 401 (Unauthorized)
GET https://mondomaine.fr/komga/api/v1/claim 401 (Unauthorized)
Uncaught (in promise) Error: An error occurred while trying to retrieve oauth2 providers
Uncaught (in promise) Error: An error occurred while trying to retrieve claim status
Il y a donc un problème avec l’accès à l’api.
En fouinant dans la documentation yunohost et en comparant avec d’autres applications, il devrait visiblement avoir quelque chose comme ce qui suit dans le manifest.
[resources.permissions]
main.url = "/"
api.url = "/api"
api.show_tile = false
api.allowed = "visitors"
api.auth_header = false
On réinstalle … il y a du mieux on a la page pour créer l’utilisateur administrateur.
Mais !
En cliquant sur le bouton « Create user account » ca gueule :
GET https://mondomaine.fr/komga/api/v2/users/me?remember-me=false 401 (Unauthorized)
Mais !
Si on retente « Create user account » (par ce que pourquoi pas!)
An error occurred while trying to claim server: This server has already been claimed
Oké !
On test https://mondomaine.fr/komga
Page de login « nomal », on renseigne l’adresse courriel et le mot de passe de notre utilisateur
Invalid authentication: Request failed with status code 401
Gné !
Bon documentation et tout ca …
# /usr/bin/java -jar -Xmx1g /var/www/komga/komga.jar --server.port=53112 --server.servlet.context-path=/komga/ --komga.config-dir=/home/yunohost.app/komga/ --list-users | grep ‘o.g.k.i.apprunner.ListUsersRunner’
main] o.g.k.i.apprunner.ListUsersRunner : Here is a list of all users: [admin@mondomaine.fr]
# /usr/bin/java -jar -Xmx1g /var/www/komga/komga.jar --server.port=53112 --server.servlet.context-path=/komga/ --komga.config-dir=/home/yunohost.app/komga/ --reset=test@mondomaine.fr --newpassword=YourNewPassword
main] o.g.k.i.apprunner.PasswordResetRunner : Reset password for user: test@mondomaine.fr
main] o.g.k.domain.service.KomgaUserLifecycle : Changing password for user test@mondomaine.fr
main] o.g.k.domain.service.KomgaUserLifecycle : Expiring all sessions for user: test@mondomaine.fr
On retente le login via la page web …
Invalid authentication: Request failed with status code 401
C’est quoi de délir ?
curl -kL -X POST 'https://mondomaine.fr/komga/api/v2/users' -H 'Accept: application/json' -H 'X-Komga-Email: test@mondomaine.fr' -H 'X-Komga-Password: YourNewPassword'
{"timestamp":"2025-02-19T02:27:11.411+00:00","status":401,"error":"Unauthorized","message":"Unauthorized","path":"/komga/api/v2/users"}
…
Il doit y avoir une erreur avec
[resources.permissions]
main.url = "/"
api.url = "/api"
api.show_tile = false
api.allowed = "visitors"
api.auth_header = false
J’ai tenté avec api.url = "/api/*"
et d’autres paramètres mais je trouve pas la bonne combinaison.
Si vous l’avez je suis preneur (avec explication si possible).
Sur ce A+
PS: vu l’heure où je poste ce message, ca sera uniquement en francais mais réponse en anglais acceptée.