Configura l'accesso a Facebook per Discourse

:exclamation: As of February 2023, Meta has implemented a business verification requirement when publishing new and existing apps.

:warning: Updating the Facebook app API or creating a new app will break existing logins. See troubleshooting at the bottom of this post for a solution.

Configuration

Go to developers.facebook.com/apps and …

  1. Login with the credentials of the account you want to connect to Discourse and follow the wizard.
    If you already have other apps instead of Get Started you will see the entry My Apps, then just click on :heavy_plus_sign: Add new app and follow the guide from step 1b

1a. Select Developer
 ![image|690x408,50%](upload://aps07RfPhmhHIHyMqO3RZkbnKaX.png) 
1b. Provide a name for the app, for example `Discourse Login` and click on <kbd>Next</kbd>.
 ![image|690x435,50%](upload://bqzuaZ5sdnGEdaWWtUqvv9zO6qU.png) 
1c. Click on <kbd>Add your first product</kbd>
 ![image|690x352](upload://8VWUUU5YYXsCVOC2GrhJb3bJbmj.png)
  1. Click Set Up below Facebook Login.
    firefox_2018-03-14_17-08-49

  2. From the menu on the left, exit Quickstart by clicking on Settings under Facebook Login

  3. Setup the Valid OAuth redirect URI field, entering https://discourse.example.com/auth/facebook/callback – obviously, replacing the domain with your site’s actual domain name and matching the HTTPS protocol. Remember that the HTTPS protocol is now mandatory for all URI redirects. Click Save Changes.
    Once completed, a successful setup should look like this in Products/Facebook Login/Settings:

  4. Navigate to Settings/Basic, enter your Discourse URL (https://discourse.example.com) in the App Domains field and also enter the URL for your Discourse site privacy policy and Terms of Service in the appropriate fields and also upload the icon of your site. (Mind that for your privacy and tos link to be verified, you should have a valid SSL certificate integrates, which is not self-signed. If the certificate is missing, or self-signed, you won’t be able to save your changes).
    If you have a company that does business in the European Union, you may want to fill in the Data Protection Officer Contact Information form before clicking on Save Changes.

    ⚠️ Facebook has changed this step to ask for extra information. We are currently working to determine what you need to provide; see recent replies. (November 2020)

    There is now a field for User Data Deletion information for GDPR compliance. Select “Data Deletion Instructions URL” from the dropdown and add a link to a page (such as https://discourse.example.com/tos#deletion) which contains a sentence like “Accounts on this site can be anonymized or deleted at the user’s request. Contact our @support group for details.”

  5. At the bottom of the page click on :heavy_plus_sign: Add Platform and select Website

  6. Enter your Discourse URL here, for example https://discourse.example.com and click Save Changes

  7. Click on the Status button to change your app from in development to public.


    The category you select does not matter.

    After a few seconds the button will become:
    firefox_2018-03-14_18-20-25

  8. In Discourse site settings, enter your Facebook app’s App ID and App Secret in the facebook app id and facebook app secret fields. You’ll also want to check off Enable Facebook authentication, requires facebook_app_id and facebook_app_secret

That’s it! Facebook login should work now. Be sure to test it from a “normal” Facebook account, not your developer account.

Troubleshooting

Hosted Customers

:discourse2: If you are a Discourse hosting customer, contact us via the email address on your site dashboard and we will be happy to assist. :+1: :slightly_smiling_face:

If you’re hosted by another provider you will need to contact them for any server-related tasks or issues.

Self-hosters

If the Facebook app API is updated, or the app ID/secret are changed, you’ll need to remove existing associations from your site before users can log in again. To remove this data, run the following:

cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "facebook").delete_all

Last edited by @martin 2024-06-11T07:00:30Z

Check documentPerform check on document:
77 Mi Piace

Penso che il processo di configurazione sia cambiato un po’ con il rebranding in ‘Meta’. Ecco una guida:

1a. Dopo aver cliccato su Nuova App

Consumer sembra essere la scelta migliore, offrendo un set limitato di opzioni con tutto ciò di cui abbiamo bisogno.

Alla fine - Accesso Avanzato

Ora sembra necessario richiedere l’“Accesso Avanzato” all’indirizzo email dell’utente di Facebook. Questo sembrava richiedere solo pochi clic ed è stato concesso automaticamente. Tuttavia, ci è voluto un po’ di tempo per trovarlo prima che apparisse.

Sembra esserci anche la necessità di rivedere l’accesso entro il prossimo mese circa. Tutto sommato, è molto più complicato rispetto all’impostazione degli altri accessi OAuth.

6 Mi Piace

Sono finalmente riuscito a configurare il login di Facebook come metodo di registrazione per gli utenti (la mia app originale ha smesso di funzionare dopo che Facebook ha aggiornato la sua conformità al GDPR). Per chi fosse interessato, crea una nuova app in Facebook e, oltre ai passaggi menzionati nel primo post, avrai anche bisogno di questi passaggi sulla tua pagina degli sviluppatori di Facebook per la tua app:

App ReviewPermissions and Features

  • public_profile → Clicca su Get Advanced Access → Segui le istruzioni
  • email → Clicca su Get Advanced Access → Segui le istruzioni

Ora i tuoi utenti dovrebbero essere in grado di registrarsi utilizzando Facebook e dovrebbero ricevere notifiche via email per i post a cui sono iscritti.

3 Mi Piace

Ho rinunciato all’integrazione del login di Facebook. O sono bot o non si prendono il tempo di leggere. È la seconda volta che sollevano la questione che la mia privacy policy viola la loro. La prima volta sono riuscito a risolverlo. Ora il problema è tornato.

La loro reazione dopo che ho ripetuto che la mia privacy policy affronta perfettamente le loro richieste.

Ciao,

Grazie per averci contattato riguardo alla tua app.

La Privacy Policy collegata alla tua app deve essere conforme alla Policy 4.b della Piattaforma Facebook:

Questa policy afferma che devi includere tutto quanto segue:

  • Una chiara spiegazione di quali dati stai raccogliendo ed elaborando (fatto)
  • Lo scopo per cui stai raccogliendo ed elaborando tali dati (fatto)
  • Come gli utenti possono richiedere la cancellazione di tali dati (in sospeso - eliminare l’account o i contenuti non è simile a poter richiedere la cancellazione dei dati. Puoi modificare la tua frase per rendere conforme ai Termini della Piattaforma 4.b)

Per maggiori informazioni sui requisiti della nostra Privacy Policy, visita la sezione quattro dei Termini della Piattaforma Facebook: https://developers.facebook.com/terms/dfc_platform_terms/.

Grazie per la tua collaborazione. Rispondi a questa email quando la tua app sarà stata aggiornata o se hai domande su questa richiesta.

Facebook

Mentre condividevo uno screenshot che descrive perfettamente come gli utenti possono richiedere la rimozione dei dati e quale tipo di dati si tratta.


Comunque, la cosa più importante che voglio sapere ora è questa. Le persone che hanno usato Facebook per accedere, sono ancora in grado di accedere con una combinazione di nome utente/password? O significa che ho perso quegli utenti?

1 Mi Piace

se non avevano precedentemente impostato una password dovranno richiedere un’email di reimpostazione, ma sì, possono accedere con una password. Abbiamo appena affrontato questo problema sui nostri forum e per lo stesso motivo.

4 Mi Piace

Non c’è una sezione di #cancellazione nei miei TOS predefiniti :frowning:
Cosa dovrei aggiungere se creo manualmente quella sezione?

1 Mi Piace

Ho fatto del mio meglio per aggiornare la nostra privacy policy per conformarmi ai loro commenti: Privacy - TZM Forum

All’inizio andava bene, poi dopo un mese o due sono tornati con le stesse lamentele. Per qualche motivo nessun cambiamento è stato sufficiente, quindi hanno disattivato l’app. L’ho rimossa in seguito, la vita è troppo breve per discutere con Facebook (bot).

6 Mi Piace

Durante il loro controllo annuale, Facebook non riesce a caricare il mio Discourse. Sono bloccati sulla schermata di caricamento.
Il forum funziona bene da parte mia e ci sono utenti connessi.

(https://unicyclist.com).

Ho detto loro di riprovare, e mi hanno di nuovo detto che non riuscivano a caricare la pagina.

Quindi, loro…

chiedono gentilmente di fornire uno screencast che includa anche i seguenti elementi:

  1. Il nome della tua app, l’ID dell’app e l’icona dell’app.

  2. Il tuo flusso completo di Facebook Login (se hai implementato Facebook Login, mostra un utente dell’app che individua il pulsante Facebook Login).

  3. Il flusso di creazione dell’account e di accesso della tua app, se gli utenti della tua app possono creare account e accedere alla tua app senza utilizzare Facebook Login.

  4. Per ogni autorizzazione a cui la tua app ha accesso, mostra un utente dell’app che accede ai dati che richiedono l’autorizzazione, nonché cosa fa la tua app con tali dati.

  5. Un flusso di Facebook Login che mostra cosa succede quando un utente dell’app nega un’autorizzazione che la tua app richiede.

  6. La posizione della tua informativa sulla privacy nella tua app. Fai clic sul link alla tua informativa sulla privacy per mostrare il contenuto della tua policy.

  7. Contenuto all’interno della tua app.

  8. Plugin social, se presenti, e come vengono utilizzati. Ad esempio, mettere “mi piace” o seguire pagine, condividere contenuti su Facebook o invitare o taggare amici. Se la tua app è disponibile su diverse piattaforme (Connect, iOS, Android, Canvas…), assicurati di mostrare tutte le informazioni di cui sopra per le piattaforme elencate.

Meta è così difficile da gestire che potrei semplicemente rimuovere tutte le loro funzionalità dai miei forum, che sono i login di Facebook e gli iframe incorporati di Instagram (un po’ sgangherati) (mi mancano i vecchi onebox).
Non riesco nemmeno ad avere anteprime dei link di Facebook pubblicati all’interno degli argomenti (forse a causa di questa cosa irrisolvibile).

Non sono sicuro che queste funzionalità valgano la pena di preoccuparsi.


Modifica: un amico che amministra un forum Discourse ha ricevuto la stessa email da Facebook e si è chiesto quanti dei loro utenti avessero effettivamente un account Facebook collegato.
Puoi usare queste query in data explorer per ottenere il numero di utenti che hanno pubblicato almeno una volta nell’ultimo anno e che hanno un account Facebook collegato:

SELECT count(*)
FROM users
LEFT JOIN user_associated_accounts ON user_id = users.id
WHERE last_posted_at > now() - '1 year'::interval
AND provider_name = 'facebook'

Se vuoi confrontare con tutti gli utenti:

SELECT count(*)
FROM users
WHERE last_posted_at > now() - '1 year'::interval

Dal mio forum, 411 utenti hanno pubblicato almeno una volta nell’ultimo anno, e 30 di loro hanno un account Facebook collegato. Ciò non significa che lo usino, però.


Modifica: è fatto, ho disabilitato le funzionalità di Facebook dai miei forum. Pensavo forse fosse una perdita, ma annunciarlo mi ha fatto ottenere molti “mi piace” :laughing:. Sembra che le mie community non siano poi così affezionate a Facebook…

6 Mi Piace

Dopo aver cambiato il mio server del forum, io e i miei utenti non siamo in grado di utilizzare il login di Facebook per accedere a speech, appare il seguente errore:

Mi dispiace, si è verificato un errore durante l’autorizzazione del tuo account. Riprova.

Qualcuno sa perché e come risolvere?

Hai lo stesso URL per il tuo forum?

1 Mi Piace

Sono arrivato fino al passaggio “Vai pubblico” e, zac…

Verifica dell’attività richiesta per andare online

Prima di poter andare online, un amministratore dell’app deve completare la verifica dell’attività. Una volta verificato il tuo account aziendale, puoi tornare a questa pagina e andare online. Scopri di più sulla verifica dell’attività.

La verifica dell’attività è irraggiungibile nel mio caso, perché non ho un’attività legalmente costituita:

Ho cercato su Google e ho scoperto che questa modifica è avvenuta solo 3 mesi fa, cioè febbraio 2023:

Immagino di essere fregato per sempre. Dimenticate il login di Facebook per me. Siti web piccoli e informali sono semplicemente banditi dal parco giochi ora. :neutral_face: :disappointed:

3 Mi Piace

Ecco altre informazioni sul blocco che ho trovato.

Documentazione Graph API:

email

Questo permesso o funzionalità è disponibile solo con la verifica aziendale.

public_profile

Questo permesso o funzionalità è disponibile solo con la verifica aziendale.

2 Mi Piace

Ho ricevuto un’email da sviluppatori di Facebook che dice che perderò l’accesso alla mia app (che serve per l’accesso a FB e per l’integrazione di Instagram, per quanto ne so) a meno che non completi la verifica aziendale.

La mia istanza è solo un hobby e in nessun modo guadagna abbastanza per essere giustificata come un’attività commerciale. Mi stavo solo chiedendo come altri intendono affrontare questa situazione?!?

3 Mi Piace

Offrire agli utenti di accedere in un altro modo? Preparare dei biscotti, portarli alla porta di Mark Zuckerberg e offrirglieli in ginocchio?

Scherzi a parte, penso che sia la fine della corsa. Nessuno controlla l’API del sito web di Facebook tranne Facebook. Questo non è un problema che può essere “risolto” con il pensiero creativo, o aggirato con l’ingegneria.

Mi dispiace di essere il messaggero di cattive notizie :disappointed_face:

1 Mi Piace

Quindi, per chiarire, c’è un modo per utilizzare l’accesso con Facebook senza avere un’attività verificata?

Chiarimento su questo: significa che i dati dell’utente verranno eliminati e verrà creato un nuovo utente per Discourse, oppure significa che l’utente dovrà autenticarsi nuovamente (fornire le autorizzazioni per condividere informazioni) tramite Facebook al prossimo accesso?

Quindi, per chiarire, c’è un modo per usare “Accedi con Facebook” senza avere un’attività verificata?

No, per quanto ne so.

1 Mi Piace

Qualcun altro ha ricevuto questa email da Meta?

Sembra che alcune persone abbiano riscontrato questo problema l’anno scorso, quindi forse è il mio turno adesso. Non sono un’azienda, quindi ciò significa che dovrò rimuovere l’accesso tramite Meta in futuro?

Completa il controllo sull’uso dei dati per la community X

Proteggere la privacy delle persone è una priorità importante per Meta e per gli sviluppatori che creano sulla nostra piattaforma. Ecco perché richiediamo un controllo annuale per assicurarci che il tuo accesso alle API e l’uso dei dati siano conformi alle policy di Meta. Scopri di più.

Ecco cosa devi fare per la community X prima del 30 maggio 2024 per mantenere l’accesso alle API ed evitare restrizioni:

  1. Esamina le tue autorizzazioni e funzionalità precedentemente approvate o aggiunte.
  2. Certifica che questa app segua l’uso consentito.
  3. Certifica che stai seguendo i Termini della Piattaforma Meta e le Policy per Sviluppatori, insieme a tutti gli altri termini e policy applicabili.
  4. Rispondi a domande sulle tue pratiche di gestione dei dati. Scopri le nostre linee guida sulla gestione dei dati.

Il controllo sull’uso dei dati è un requisito che deve essere completato una volta all’anno da un amministratore dell’app.
Assicurati che ogni app sia collegata a un business verificato — questo è necessario per poter inviare il controllo sull’uso dei dati.

1 Mi Piace

Sì, significa esattamente questo.

Grazie signore.

Ora dovrò esaminare cosa devo cambiare nella configurazione. C’è sempre qualcosa, vero? :grinning_face_with_smiling_eyes: