SSO, vecchi account disabilitati

Il server che ospita la nostra istanza Discourse si è completamente bloccato e disponiamo solo di un backup di Discourse piuttosto datato.
L’istanza, che abbiamo ripristinato, utilizza l’SSO con Drupal.

Domanda: tra il momento dell’ultimo backup e ora, diversi utenti sono stati disattivati su Drupal, quindi presumibilmente non potranno più riconnettersi a Discourse.
Ma per quanto riguarda le notifiche via email? Ci è già stato riferito che alcuni ex-utenti hanno ricevuto alcune notifiche. Esiste un modo per far capire automaticamente a Discourse quali utenti non dovrebbero più riceverle? Mi piacerebbe davvero non dover passare manualmente attraverso l’elenco degli utenti :slight_smile:

Potresti far sì che Drupal utilizzi l’API per disattivare tali utenti. Oppure genera un elenco e disattivali dalla console di Rails.

Sembra una buona idea. Hai qualche indicazione su come farlo?

Per trovare le chiamate API, puoi consultare Reverse engineer the Discourse API. Inoltre, i topic relativi all’SSO dovrebbero fornire alcune informazioni su come disabilitare gli account tramite l’SSO master. Nel tuo caso, però, gli account sono già disabilitati, quindi probabilmente vorrai ottenere una lista di essi . . . in qualche modo . . . e poi eseguire qualcosa del genere:

 Users.where(in qualche modo ottieni gli utenti).update_all(active: false)

(Non è esattamente corretto, ma questa è l’idea.)

Se si tratta di un’emergenza e hai un budget, le mie informazioni di contatto sono nel mio profilo.

Grazie, ma chiedevo principalmente se esiste una procedura standard SSO (qualcosa di tipo endpoint o chiamata) per gestire questo tipo di cose (sincronizzare gli utenti attivi).

A quanto pare no :slight_smile:

Proverò a crearne una mia.

C’è. Probabilmente puoi trovarlo nel plugin wp-discourse, ma il modo più semplice per individuarlo è disattivare un account con gli strumenti per sviluppatori aperti e osservare quale chiamata viene effettuata.