Hai anche selezionato un utente per cui creare la chiave API?
Generalmente ciò che ti serve è una chiave API “all-user”. Per alcune cose, in particolare per l’uso di discourse_theme, è richiesta una chiave utente.
Posso riprodurre il problema seguendo i passaggi che hai elencato. Quando si crea una chiave API per un singolo utente, Discourse si aspetta che un nome utente venga aggiunto al campo ‘Utente’ del modulo:
Se ‘Singolo utente’ è selezionato come livello utente, ma nessun nome utente viene aggiunto al campo Utente, viene creata una chiave API per tutti gli utenti. Mi aspetterei invece che venga visualizzato un messaggio di errore, simile a quanto accade quando il modulo viene inviato senza una descrizione.
Volevo creare una sorta di utente “bot” per recuperare i post da categorie specifiche. Questa istanza di Discourse utilizza l’autenticazione GSuite, quindi non è più possibile creare utenti arbitrari. Speravo che per una chiave “Single User” mi permettesse di inserire il nuovo nome utente che volevo assegnare al bot, ma ora vedo che il nome utente deve corrispondere a un utente esistente. Il campo del nome utente non ha convalida, quindi non era chiaro che non potevo inserire un nome qualsiasi (come farei ad esempio per gli webhook in arrivo di Slack). Il sistema fallisce silenziosamente al momento dell’invio quando cerca il nome utente inserito e crea invece una chiave “All Users”.
Suppongo che si tratti più di un bug di usabilità che funzionale. Ho trovato la documentazione qui confusa, poiché non spiegava affatto il campo “Livello utente” e non c’era alcun accenno a un tipo “All Users” tranne una menzione in un commento più avanti nel thread.
No, questo non è un componente select-kit. Il problema è che controlliamo solo la presenza della descrizione e non del nome utente. La modalità utente (singola/tutti) è solo un valore lato client, quindi quando il modello viene validato lato server, tutto ciò che sa è che abbiamo richiesto una chiave e se abbiamo fornito un utente o meno.
Questo dovrebbe migliorare la situazione; chiederò a David di rivedere: