Résumé IA
Souhaitez-vous limiter les utilisateurs qui peuvent voir la liste des feuilles Google connectées lors de la configuration d'une connexion Google Sheets dans WPForms ? Par défaut, tout utilisateur ayant accès à l'éditeur de formulaires peut voir toutes les feuilles de calcul associées au compte Google connecté, ce qui peut poser un problème de confidentialité sur les sites comportant plusieurs utilisateurs backend.
Ce tutoriel vous montrera comment restreindre l'accès au sélecteur de feuilles Google à l'aide d'un extrait de code personnalisé.
Création de l'extrait
Avant de commencer, assurez-vous de consulter notre tutoriel sur comment ajouter des extraits de code personnalisés à votre site.
Le sélecteur de feuilles Google charge ses données via un point de terminaison AJAX lorsqu'un utilisateur ouvre le fournisseur de feuilles Google dans l'éditeur de formulaires. En vous accrochant au filtre wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets, vous pouvez ajouter une vérification d'autorisation avant que la liste des feuilles de calcul ne soit renvoyée.
Nous allons couvrir deux scénarios courants ci-dessous.
Restreindre l'accès aux administrateurs uniquement
L'extrait ci-dessous limite l'accès au sélecteur de feuilles Google aux utilisateurs ayant la capacité manage_options. Par défaut, cela est limité aux administrateurs.
/**
* Restrict the Google Sheets picker to administrators only.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_admins_only', 9 );
function wpf_restrict_picker_access_admins_only(): void {
// Restrict access to users with manage_options capability (administrators by default).
if ( ! current_user_can( 'manage_options' ) ) {
wp_send_json_error( 403 );
}
}
Une fois cet extrait ajouté à votre site, tout utilisateur non administrateur qui tente d'ouvrir le sélecteur de feuilles Google recevra une erreur 403 au lieu de voir la liste des feuilles de calcul connectées. Les administrateurs continueront de voir le sélecteur exactement comme avant.
Restreindre l'accès à un utilisateur spécifique
Si vous préférez restreindre l'accès à un seul utilisateur, vous pouvez vérifier un identifiant d'utilisateur spécifique à la place. Ceci est utile lorsqu'une seule personne de votre équipe doit être autorisée à gérer les connexions Google Sheets.
/**
* Restrict the Google Sheets picker to a specific user.
*
* @link https://wpforms.com/developers/
*/
add_filter( 'wpforms_providers_settings_builder_ajax_access_token_data_get_google-sheets', 'wpf_restrict_picker_access_single_user', 9 );
function wpf_restrict_picker_access_single_user(): void {
// Restrict access to a specific user ID. Replace 1 with the desired user ID.
if ( get_current_user_id() !== 1 ) {
wp_send_json_error( 403 );
}
}
Assurez-vous de remplacer 1 par l'identifiant de l'utilisateur que vous souhaitez autoriser. Vous pouvez trouver l'identifiant d'un utilisateur en allant dans Utilisateurs dans votre administration WordPress et en survolant le nom de l'utilisateur. L'identifiant apparaît dans l'URL du lien de modification.
C'est tout ! Vous avez restreint avec succès l'accès au sélecteur de feuilles Google dans WPForms. Souhaitez-vous personnaliser d'autres parties de l'intégration Google Sheets ? Consultez notre tutoriel sur la façon de configurer le module complémentaire Google Sheets avec WPForms.