Erreur id_token audience and client_id don't match
à la déconnexion #56
Labels
No labels
bug
documentation
fonctionnalité
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: yaal/escut#56
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Parfois à la déconnexion on obtient l'erreur
id_token audience and client_id don't match
sur Canaille (par exemple à cette adresse).Je pense que c'est du au fait qu'Escut enregistre dynamiquement un client auprès de Canaille. Comme la capture d'écran le montre, il y en a parfois beaucoup, créés à quelques secondes d'écart pour certains :
L'erreur vient vraisemblablement du fait que le client qui a émis le token du client n'est pas le client qui est utilisé à la déconnexion.
if not app.config.get("OAUTH_CLIENT_ID"):
register_oauth_client(app)
Je pense que ce code vient du client de Canaille, mais je ne suis pas sûr que ce soit adapté à Escut.
Je suppose qu'à chaque édition du code d'Escut, l'auto-reload crée un nouveau client sur Canaille, ce qui n'est pas souhaitable.
@eloi wrote in #56 (comment):
Pourrais-tu détailler cette solution ? S'agit-il d'inscrire ces paramètres automatiquement dans un fichier .env ? (Sachant que nous sommes à l'intérieur d'un container docker à ce moment-là.)
Oui par exemple, un fichier .env pourrait faire l'affaire. (Note que docker compose peut charger les fichiers .env, ou bien qu'ils peuvent être montés comme volumes Docker, et donc être accessibles à l'intérieur du conteneur, puis surveillé par Flask avec
--extra-files
pour un rechargement automatique de Flask lorsque le fichier .env est édité).Je ne sais pas trop ce que j'en pense, éditer directement un .env c'est un peu cracra non ?
Ok.
A voir, Lago le fait par exemple (il écrit une clé dans le fichier .env automatiquement si elle n'était pas renseignée).
Après si tu penses que le CLI est le plus propre on peut partir sur ça, mais j'avais peur qu'il ne serve qu'à ça et que ce soit une solution un peu overkill du coup.
Tentative de résolution provisoire : enregistrer les identifiants dans un
.env