Autorizzazioni

Panoramica

In qualità di amministratore di sistema di Workplace, puoi controllare le funzionalità offerte a ciascuna integrazione creando app e concedendo loro specifiche autorizzazioni. A ogni app può essere assegnato un nome che rifletta il servizio che abilita. Le app sono dotate di token d'accesso e autorizzazioni uniche per controllare quali informazioni possono essere lette o scritte da quella specifica app.

Questa guida descrive più dettagliatamente l'app e il modello di autorizzazione.

L'autorizzazione controlla quando viene modificata un'app di integrazione personalizzata

Autorizzazioni disponibili

A ogni app Workplace può essere concesso un set specifico di autorizzazioni per il controllo del livello di funzionalità disponibile sull'API Graph e sull'API Account Management.

Quando creai un'app e concedi le autorizzazioni, queste ultime vengono applicate a tutti gli account della tua community. I titolari degli account non devono concedere autorizzazioni aggiuntive all'app per trarre vantaggio dalla sua funzionalità. Tale condizione è diversa dal modello di autorizzazione su Facebook, in cui ogni utente concede singolarmente le autorizzazioni a un'app al momento dell'accesso.

Di seguito è riportata una lista completa delle autorizzazioni dell'app disponibili per le integrazioni, insieme a una panoramica del modo in cui possono essere utilizzate.

AutorizzazioneDescrizione

Visualizzazione dei contenuti dei gruppi

Consente di leggere i post e i commenti in gruppi selezionati.

read_group

Utilizza questa autorizzazione quando crei un'integrazione che recupera tutti i contenuti dai gruppi selezionati.

Se la tua integrazione fungerà da bot in un gruppo, usa invece l'autorizzazione Menzione del bot.

Gestione del contenuto dei gruppi

Consente di gestire i post e i commenti in gruppi selezionati.

write_group

Utilizza questa autorizzazione quando crei un'integrazione che pubblica contenuti nei gruppi, come un report settimanale da un servizio interno o un bot di notifica dello stato dei servizi.

Visualizzazione del diario degli utenti

Consente di vedere i post pubblicati dai membri del gruppo sul loro diario.

read_user_feed

Utilizza questa autorizzazione quando crei un'integrazione che:

  • recupera tutti i contenuti dal diario di un membro del gruppo;
  • attiva l'iscrizione per le modifiche al campo dello stato nel profilo dell'utente.

Gestione del diario degli utenti

Consente di pubblicare e commentare sul diario di qualsiasi membro del gruppo.

write_user_feed

Utilizza questa autorizzazione per consentire a un'integrazione di creare o modificare un post sul diario di un membro del gruppo.

Menzione del bot

In caso di menzione in un post, consente di vedere il post e rispondere ai commenti.

bot_mention

Utilizza questa autorizzazione per creare bot nei gruppi di Workplace.

Gestione dei gruppi

Consente di creare, modificare o rimuovere i gruppi selezionati e i relativi membri.

manage_group

Utilizza questa autorizzazione quando crei un'integrazione che genera automaticamente i gruppi e compila i membri del gruppo in base alla struttura dell'organigramma o ai gruppi di progetto.

Se un'integrazione con questa autorizzazione è stata assegnata a gruppi specifici, non sarà più consentito creare nuovi gruppi.

Gestione degli account

Consente di eseguire il provisioning, aggiornare o disattivare gli account tramite l'API Account Management.

manage_accounts

Utilizza questa autorizzazione per qualsiasi integrazione con un servizio di provisioning degli account, come gli identity provider, lo strumento per la sincronizzazione di Active Directory o un client personalizzato dell'API Account Management.

Quando abiliti questa autorizzazione, avrai la possibilità di abilitare l'autorizzazione "Invita automaticamente le persone su Workplace appena vengono aggiunte usando questa integrazione".

Gestione dei badge

Consente di assegnare i badge alle persone in una community di Workplace.

manage_badges

Utilizza questa autorizzazione per consentire a un'integrazione di:

  • assegnare i badge a un membro;
  • ottenere la lista dei badge assegnati a un membro;
  • ottenere la lista dei badge disponibili.

Visualizzazione dell'indirizzo e-mail degli utenti

Consente di vedere l'indirizzo e-mail di qualsiasi membro del gruppo.

read_user_email

Questa autorizzazione consente di recuperare l'account e-mail associato all'account di un utente di Workplace.

Visualizzazione del profilo di lavoro

Consente l'accesso di sola lettura alle informazioni sulla directory delle persone.

read_user_work_profile

Consente a un'app di recuperare reparto, divisione, organizzazione, primary_address, primary_phone, titolo e genere delle persone.

Visualizzazione dell'organigramma

Consente l'accesso di sola lettura ai responsabili e ai subordinati delle persone.

read_user_org_chart

Consente a un'app di recuperare i responsabili e i subordinati delle persone.

Invio di messaggi a tutti i membri

Consente di inviare e ricevere messaggi della chat da e verso qualsiasi membro della tua community.

message

Utilizza questa autorizzazione per la creazione di bot in Work Chat.

Visualizzazione di tutti i messaggi

Consente di leggere i messaggi della chat di qualsiasi membro della tua community.

read_all_messages

Utilizza questa autorizzazione per abilitare un'integrazione per la conformità che monitorerà l'utilizzo di Workplace Chat.

Eliminazione dei messaggi delle chat

delete_messages

Utilizza questa autorizzazione per consentire a un'app di eliminare i messaggi della chat dalle conversazioni di una persona, ad es. per implementare una normativa sul mantenimento.

Visualizzazione dei log sulla sicurezza

Consente di accedere ai dettagli degli eventi di sicurezza, tra cui i tentativi di accesso e le richieste di reimpostazione della password.

receive_security_logs

Utilizza questa autorizzazione per abilitare un'integrazione per la conformità che monitorerà l'utilizzo di Workplace Chat.

Disconnessione

Consente di disconnettere i membri da tutte le sessioni attive.

logout

Utilizza questa autorizzazione per disconnettere un utente da Workplace.

Creazione delle anteprime dei link

Consente di visualizzare l'anteprima avanzata dei link condivisi in Workplace.

link_unfurling

Le app con questa autorizzazione possono generare anteprime autorizzate per i link condivisi in Workplace.

Gestione dei profili di lavoro

Consente di leggere e aggiornare i profili di lavoro in Workplace.

manage_profiles

Le app con questa autorizzazione combinano le autorizzazioni di lettura di read_user_work_profile e read_user_org_chart. Le app con questa autorizzazione sono anche in grado di aggiornare le informazioni sull'account (ad es.: nome, reparto, divisione, titolo, organizzazione, cellulari)

Provisioning degli account utente

Consente di eseguire il provisioning degli account in Workplace.

provision_accounts

Le app con questa autorizzazione possono eseguire il provisioning, disattivare ed eliminare gli account Workplace (non reclamati). Questa autorizzazione consente anche gli aggiornamenti ai campi active, email, name, hire_date e invited del membro.

Visualizzazione dei membri dei gruppi

Consente di elencare i membri di un gruppo e i gruppi di cui un utente è membro.

list_group_members

Le app con questa autorizzazione possono eseguire query sulla lista dei membri di un determinato gruppo. Inoltre, è possibile elencare i gruppi di cui un utente è membro.

Gestione dei contenuti dell'Area risorse

Consente di creare, modificare ed eliminare informazioni importanti sull'azienda nell'Area risorse.

manage_knowledge_library

Le app con questa autorizzazione possono creare e modificare i contenuti all'interno dell'Area risorse. Utilizza questa autorizzazione per consentire a un'integrazione di:

  • creare/aggiornare/eliminare una categoria;
  • creare delle sottocategorie all'interno di una categoria;
  • aggiornare foto/video/file in una categoria;
  • creare/aggiornare/eliminare un quicklink.

Visualizzazione dei contenuti dell'Area risorse

Consente di leggere informazioni importanti sull'azienda nell'Area risorse.

read_knowledge_library

Le app con questa autorizzazione possono accedere ai contenuti dell'Area risorse. Utilizza questa autorizzazione per consentire a un'integrazione di:

  • ottenere la lista delle categorie;
  • ottenere i contenuti per una categoria specifica;
  • ottenere la lista di quicklink.

Esportazione dei dati dei dipendenti

Consente di esportare la lista dei dipendenti attuali e i dati sulle relative attività in formato CSV.

export_employee_data

Le app con questa autorizzazione possono programmare una procedura di esportazione dei dati che genera un file CSV che elenca tutti gli utenti di Workplace. Il file CSV include anche i dati sull'utente, così come informazioni sul suo recente utilizzo delle funzioni di Workplace.

Bot per la chat di gruppo

Consente ai bot di interagire nelle chat di gruppo.

bot_group_chat

Le app con questa autorizzazione consentiranno ai bot di interagire con i membri in una chat di gruppo. Utilizza questa autorizzazione per consentire a un'integrazione di creare o gestire una chat di gruppo con più persone.

Questa autorizzazione dipende dall'autorizzazione message.

Gestione dei sondaggi

Consente di creare, aggiornare, eliminare e leggere la configurazione dei sondaggi.

manage_surveys

Le app con questa autorizzazione possono creare, aggiornare, eliminare e leggere la configurazione dei sondaggi.

Visualizzazione dei sondaggi

Consente di leggere la configurazione dei sondaggi e ricevere gli aggiornamenti del webhook relativi ai sondaggi.

read_surveys

Le app con questa autorizzazione possono leggere la configurazione dei sondaggi e ricevere gli aggiornamenti del webhook relativi ai sondaggi.

Visualizzazione dei sondaggi

Consente di leggere la configurazione dei sondaggi e ricevere gli aggiornamenti del webhook relativi ai sondaggi.

read_surveys

Le app con questa autorizzazione possono leggere la configurazione dei sondaggi e ricevere gli aggiornamenti del webhook relativi ai sondaggi.

Visualizzazione dei gruppi di persone

Consente di leggere i gruppi di persone.

read_people_sets

Le app con questa autorizzazione possono visualizzare la configurazione del gruppo di persone dinamico e attivare l'iscrizione per gli aggiornamenti relativi ai gruppi di persone.

Gestione dei gruppi di persone

Consente di gestire i gruppi di persone

manage_people_sets

Le app con questa autorizzazione possono creare, aggiornare ed eliminare i gruppi di persone nella community di Workplace

Lettura di post importanti

Consente di leggere i post importanti.

read_important_posts

Consente all'integrazione di leggere le informazioni sulle promozioni di post importanti, sia attualmente attivi sia scaduti.

Gestione di post importanti

Consente di gestire i post importanti.

manage_important_posts

Consente all'integrazione di contrassegnare i post del gruppo come importanti, rendendoli visibili nella parte superiore del feed e consente di interrompere in anticipo la promozione di post importanti.

Rimozione delle informazioni del profilo

Consente di rimuovere le informazioni personali di un utente disattivato.

remove_profile_information

Consente all'integrazione di rimuovere i campi del profilo, come il nome e l'immagine del profilo, dagli utenti disattivati su Workplace.

Autorizzazioni a livello del gruppo

Per alcune autorizzazioni è possibile limitare un'integrazione affinché sia abilitata su gruppi specifici. Tale condizione ti consente di limitare l'ambito dell'accesso di un'integrazione solo ai contenuti che desideri esporre.

Ad esempio, puoi consentire a un'integrazione di pubblicazione di avvisi di pubblicare solo nel gruppo di un team o consentire all'integrazione di un'app per i dipendenti di leggere i contenuti solo in specifici gruppi aperti.

Per specificare le autorizzazioni a livello del gruppo per un'integrazione personalizzata, utilizza la scheda Accesso al gruppo nella finestra di dialogo Modifica integrazione.

Abilitazione dell'autorizzazione a livello del gruppo per questa integrazione.

Le autorizzazioni a livello del gruppo si applicano alle seguenti autorizzazioni:

  • Visualizzazione dei contenuti dei gruppi: consente di leggere i post, i commenti e i profili dei membri nei gruppi selezionati
  • Gestione dei contenuti dei gruppi: consente di gestire i post e i commenti nei gruppi selezionati
  • Gestione dei gruppi: consente di modificare o rimuovere i gruppi selezionati e i relativi membri

Puoi configurare un'integrazione in modo tale che le autorizzazioni a livello del gruppo possano essere applicate a Tutti i gruppi, Gruppi specifici a seconda della scelta di un amministratore di sistema, oppure Consenti agli amministratori di attivare l'opzione per i loro gruppi.

Procedura di installazione dell'amministratore

Quando viene abilitato Consenti agli amministratori di attivare l'opzione per i loro gruppi, un amministratore di un gruppo vedrà una nuova tab Integrazioni nella schermata Gestisci il gruppo, che consentirà di abilitare l'integrazione nel gruppo specifico.

Un'app di esempio che ora può essere abilitata dall'amministratore del gruppo.

Token dell'app e utilizzo

Quando crei una nuova app per Workplace, viene generato un token d'accesso da utilizzare con l'API Graph, l'API Account Management o i webhook.

Questo token d'accesso verrà mostrato solo una volta, quindi è importante memorizzare il token in modo sicuro per utilizzarlo in seguito nel codice.

La procedura di reimpostazione del token per un'app di integrazione personalizzata

I token dell'app Workplace non scadono mai e non è necessario aggiornarli a meno che non siano stati reimpostati manualmente. Se modifichi le autorizzazioni disponibili per una determinata app, il token esistente continuerà a funzionare e non dovrai generare un nuovo token.

Se dovessi aver bisogno di invalidare un token, puoi reimpostarlo tramite il pulsante Reimposta token d'accesso nella finestra di dialogo Modifica app. Verrà generato e visualizzato un nuovo token e quello esistente verrà immediatamente invalidato.

Sicurezza dei token

I token d'accesso sono importanti; concedono l'accesso ai dati dell'azienda su Workplace. Quando crei un'app, prendi in considerazione il set minimo di autorizzazioni necessarie per completare le funzioni di integrazione e non concedere autorizzazioni non necessarie.

Quando memorizzi i token o li aggiungi ai repository di codice, assicurati che non vengano condivisi con le persone sbagliate.

Non aggiungere mai i token d'accesso di produzione ai repository di codice pubblici.

Devi memorizzare e utilizzare le credenziali dell'API solo nell'ambiente del server e assicurarti che questi valori non vengano mai copiati o trasmessi altrove, ad es. ad app mobili o client di browser web.

Per aggiungere un ulteriore livello di sicurezza per le integrazioni, devi aggiungere una lista di IP autorizzati, che applicherà restrizioni all'utilizzo dei token solo ai server compresi nella lista di indirizzi IP autorizzati.

Aggiunta di una lista di IP autorizzati per applicare restrizioni all'utilizzo del token a server specifici e richiesta della verifica della chiave segreta

Rimozione automatica delle autorizzazioni non utilizzate

Se un'integrazione personalizzata non effettua chiamate utilizzando una specifica autorizzazione per 30 giorni, quest'ultima verrà rimossa. Dopo che tale situazione si è verificata una volta per un'integrazione personalizzata, sarà disponibile un'opzione per interrompere questa procedura di rimozione.

Se è stata configurata un'iscrizione al webhook valida, i webhook inviati da quest'ultima contano come utilizzo dell'autorizzazione pertinente.

Controlli per la rimozione automatica delle autorizzazioni

Verifica della chiave segreta

I token d'accesso per Workplace non scadono. Le integrazioni personalizzate possono richiedere una verifica della chiave segreta per aggiungere un ulteriore livello di sicurezza. L'abilitazione dell'opzione "Richiedi la verifica della chiave segreta" assicura che le chiamate all'API vengano effettuate solo dal codice lato server; quando si effettuano chiamate all'API, sarà richiesta una verifica della chiave segreta in scadenza insieme a un token d'accesso.

Per generare una verifica della chiave segreta in scadenza, dovrai concatenare il token con un'indicazione temporale unix separata da un simbolo di barra verticale |, e quindi creare una procedura di hashing SHA-256 della stringa concatenata utilizzando la chiave segreta come chiave. Di seguito un esempio in PHP:

$appsecret_proof = hash_hmac('sha256', $access_token.'|'.time(), $app_secret); 

Alcuni sistemi operativi e linguaggi di programmazione restituiranno un'indicazione temporale che è un float. Assicurati di effettuare la conversione in un valore intero prima del calcolo della verifica della chiave segreta. Alcuni linguaggi di programmazione creano l'hash come oggetto digest. Assicurati di esprimere l'hash come oggetto esadecimale.

Per effettuare le chiamate all'API con la verifica della chiave segreta, passa l'hash generato tramite il parametro appsecret_proof insieme a appsecret_time impostato sull'indicazione temporale utilizzata durante la procedura di hashing della chiave segreta, insieme al token d'accesso.

GET https://graph.facebook.com/v2.9/community/groups?
&access_token={access-token}
&appsecret_proof={appsecret_proof}
&appsecret_time={appsecret_time}

Le verifiche della chiave segreta con indicazione temporale verranno considerate scadute dopo 5 minuti, quindi è consigliabile generare una nuova verifica in linea quando si effettua ogni chiamata all'API Graph.

Esplorazione della funzionalità dell'API con Postman

Postman è uno strumento ampiamente utilizzato per lavorare con le API web. Potrebbe sembrarti comodo esplorare l'API Workplace utilizzando Postman, ma il parametro $appsecret_proof presenta una complicazione. Infatti, poiché questo valore deve essere calcolato e scade dopo cinque minuti, la situazione sarebbe più semplice se Postman potesse generare il valore al momento della richiesta. In effetti Postman può eseguire tale operazione utilizzando le sue funzioni di script di pre-richiesta e parametri. Questo script può essere utilizzato come punto di partenza:

// Add to Postman's Pre-request Script Tab
var access_token = "replace-me";
var app_secret = "replace-me";
var time = (new Date().getTime()/1000|0);
postman.setEnvironmentVariable("access_token", access_token)
postman.setEnvironmentVariable("appsecret_time", time);
postman.setEnvironmentVariable("appsecret_proof", CryptoJS.HmacSHA256(access_token + '|' + time, app_secret));
1) Creazione di un ambiente attivo (non ne esiste uno per impostazione predefinita), quindi 2) aggiunta di questi tre parametri, che vengono calcolati dallo script di pre-richiesta.