Aller au contenu
Avancé

Permissions et accès

Qui peut faire quoi, et comment le site le vérifie réellement.

L'identifiant d'un serveur apparaît dans l'URL du dashboard. Il vient donc du navigateur, et n'autorise rien par lui-même : il désigne seulement la ressource dont l'accès va être vérifié.

Les sept contrôles

  1. La session existe et son cookie signé n'est pas expiré.
  2. Le jeton Discord répond encore : l'identité est réelle, pas seulement mémorisée.
  3. Discord place bien cet utilisateur dans ce serveur.
  4. Ses permissions Discord suffisent : propriétaire, Administrateur ou Gérer le serveur.
  5. Le bot est réellement installé sur ce serveur.
  6. Le bot confirme la présence et les droits actuels de l'utilisateur.
  7. Les permissions manquantes du bot sont remontées à l'interface.

Pourquoi le sixième contrôle existe

Un jeton OAuth conserve les permissions du moment où il a été émis. Quelqu'un rétrogradé hier garderait l'accès aujourd'hui. Le verdict du bot, lui, lit les permissions actuelles du serveur.

Réponses en cas de refus

SituationCodeCe qui est affiché
Non connecté401Redirection vers la connexion Discord
Permissions insuffisantes403« Permissions insuffisantes »
Serveur inconnu de l'utilisateur404« Serveur introuvable »
Bot absent du serveur404Bouton « Ajouter Ghost's Sanctuary »
Bot injoignable503Accès refusé par précaution, avec explication

Bot injoignable = accès refusé

Quand le bot ne répond pas, le site ne peut pas vérifier vos droits. Il refuse plutôt que de supposer. C'est délibéré : supposer reviendrait à ouvrir le dashboard à quiconque connaît un identifiant de serveur.

Support

Un utilisateur ne voit que ses propres demandes. Les agents déclarés dans SUPPORT_AGENT_IDS voient toutes les demandes, les notes internes, et peuvent changer statut, priorité et assignation. Un utilisateur peut seulement fermer sa propre demande.

Les notes internes ne sont pas masquées, elles sont absentes

Elles sont filtrées par le bot avant l'envoi : elles n'arrivent jamais dans le navigateur du demandeur. Les cacher en CSS aurait suffi à les lire dans le code source de la page.

Permissions et accès — Documentation · Ghost's Sanctuary