Aggiungi utente al gruppo tramite webhook con email

Buongiorno,

Sto cercando di aggiungere utenti da WordPress a gruppi privati in Discourse tramite webhook.

Utilizzo il plugin WP Discourse come metodo di accesso SSO e non consento agli utenti di modificare il proprio nome utente in Discourse. L’ho fatto perché pensavo che in questo modo avrei potuto utilizzare il nome utente di WordPress per aggiungerli a un gruppo in Discourse. Perché, pensavo che sarebbero stati gli stessi.

Il problema è che quando il nome utente viene generato automaticamente in WordPress, a volte utilizza la loro email come nome utente. Ma Discourse non lo consente nei nomi utente, quindi interrompe il nome utente a "@".

Esempio:
Email WordPress: jhon@gmail.com
Nome utente WordPress (generato automaticamente): jhon@gmail.com
Nome utente Discourse (generato tramite WP Discourse SSO): jhon

Questo non mi permette di utilizzare l’utente di WordPress per aggiungerli a un gruppo.

C’è un modo più semplice per farlo?

Sarebbe fantastico poter aggiungere utenti a un gruppo con la loro email invece che con il nome utente. L’email è sempre disponibile in qualsiasi applicazione (CRM, WordPress, ecc.), quindi non sarà necessario il passaggio aggiuntivo per effettuare una richiesta "GET" all’API per ottenere il nome utente da quell’email e quindi inserirli nel gruppo.

Utilizzo Fluent Forms per inviare questi dati al webhook da WordPress quando inviano un modulo, quindi non posso effettuare la richiesta GET e poi inserire il nome utente.

Grazie!

1 Mi Piace

Se ho capito bene, stai facendo questo

  1. Utilizzo di DiscourseConnect con WordPress come provider e Discourse come client.
  2. Utilizzo di un Webhook in WordPress per inserire gli utenti in gruppi in Discourse (ad es. PUT su /g/:group_name/members (riferimento API)) come risultato di un’azione di modulo.

se è corretto, puoi trovare il nome utente di Discourse in WordPress nel campo meta utente discourse_username, quindi

get_user_meta($user_id, 'discourse_username', true);

Usa quello per ottenere il nome utente da utilizzare nella richiesta PUT a seguito dell’azione del modulo.
Puoi assicurarti che discourse_username sia compilato per i tuoi utenti utilizzando i webhook utente nel plugin WP Discourse (nota che stiamo parlando di webhook diversi da quelli che stai attualmente utilizzando nel tuo modulo).

2 Mi Piace