Skip to content

Social login

El inicio de sesión social permite a los clientes registrarse e iniciar sesión usando su cuenta de Google o Facebook. Elimina la necesidad de crear y recordar una contraseña, lo que acelera el proceso de compra y aumenta el número de registros.

Ve a WooCommerce > Polski > Módulos de tienda y activa Social login. Después configura las claves API para los proveedores seleccionados (Google, Facebook o ambos).

  • Inicio de sesión y registro mediante Google OAuth2
  • Inicio de sesión y registro mediante Facebook OAuth2
  • Botones en las páginas Mi cuenta, checkout e inicio de sesión de WordPress
  • Registro automático con el rol “Cliente”
  • Vinculación de cuentas por dirección de correo electrónico o identificador del proveedor
  • Manejo seguro de los tokens OAuth2
  • No se almacenan contraseñas para los usuarios que inician sesión mediante inicio de sesión social

Configuración en WooCommerce > Polski > Módulos de tienda > Social login.

AjustePredeterminadoDescripción
google_enabledfalseActivar el inicio de sesión mediante Google
google_client_id-Client ID de Google Cloud Console
google_client_secret-Client Secret de Google Cloud Console
facebook_enabledfalseActivar el inicio de sesión mediante Facebook
facebook_app_id-App ID de Meta for Developers
facebook_app_secret-App Secret de Meta for Developers
auto_registertrueCrear una cuenta automáticamente en el primer inicio de sesión

Opción en la base de datos: polski_social_login.

  1. Ve a Google Cloud Console
  2. Crea un proyecto nuevo o selecciona uno existente
  3. Ve a APIs & Services > Credentials
  4. Haz clic en Create Credentials > OAuth 2.0 Client ID
  5. Tipo de aplicación: Web application
  6. Añade una URI de redirección autorizada: https://yourstore.com/?polski_social_login=google_callback
  7. Copia el Client ID y el Client Secret en los ajustes del módulo
  8. Asegúrate de que la Google+ API o la People API esté activada en el proyecto
  1. Ve a Meta for Developers
  2. Crea una nueva aplicación de tipo Consumer
  3. En los ajustes de la aplicación, ve a Facebook Login > Settings
  4. Añade una URI de redirección OAuth válida: https://yourstore.com/?polski_social_login=facebook_callback
  5. Copia el App ID y el App Secret en los ajustes del módulo
  6. Pon la aplicación en modo Live (no sandbox)

El módulo vincula las cuentas de usuario de la siguiente manera:

  1. Por dirección de correo electrónico - si ya existe una cuenta de WordPress con la misma dirección de correo electrónico, el módulo la vincula automáticamente (el usuario inicia sesión en la cuenta existente)
  2. Por identificador del proveedor - si el usuario ha iniciado sesión antes con el mismo proveedor, el módulo lo reconoce por el identificador almacenado

Los datos del proveedor se almacenan en usermeta:

  • _polski_social_google_id - identificador de Google
  • _polski_social_facebook_id - identificador de Facebook
  1. El cliente hace clic en el botón “Iniciar sesión con Google/Facebook”
  2. Redirección a la página de autorización del proveedor
  3. El cliente consiente en compartir sus datos
  4. El proveedor redirige de vuelta a la tienda con un código de autorización
  5. El módulo intercambia el código por un token de acceso (del lado del servidor)
  6. El módulo obtiene el perfil del usuario (nombre, correo electrónico, identificador)
  7. El usuario inicia sesión o se registra
  • Los tokens OAuth2 se intercambian del lado del servidor (nunca en el navegador)
  • El parámetro state protege frente a ataques CSRF
  • El nonce de WordPress se valida al iniciar el inicio de sesión
  • El Client Secret nunca se expone en el código del front-end
// Cambiar el rol de un usuario recién registrado
add_filter('polski/social_login/default_role', function (): string {
return 'subscriber'; // default: 'customer'
});
// Ejecutar una acción tras el registro mediante inicio de sesión social
add_action('polski/social_login/user_registered', function (int $user_id, string $provider): void {
// Enviar un correo de bienvenida
wp_mail(
get_userdata($user_id)->user_email,
'¡Bienvenido a la tienda!',
'Tu cuenta ha sido creada.'
);
}, 10, 2);
// Filtrar los datos del perfil antes de guardarlos
add_filter('polski/social_login/profile_data', function (array $data, string $provider): array {
return $data;
}, 10, 2);
// Desactivar el registro automático para un proveedor seleccionado
add_filter('polski/social_login/auto_register', function (bool $auto, string $provider): bool {
if ($provider === 'facebook') {
return false;
}
return $auto;
}, 10, 2);
  • .polski-social-login - contenedor de botones
  • .polski-social-login__button - botón de inicio de sesión
  • .polski-social-login__button--google - botón de Google
  • .polski-social-login__button--facebook - botón de Facebook
  • .polski-social-login__separator - separador “o”

social_login

El botón redirige a la página de error del proveedor - comprueba que la URI de redirección en la consola del proveedor coincida exactamente con la dirección de la tienda (ten en cuenta https frente a http y la barra final).

El usuario no se crea tras iniciar sesión - asegúrate de que auto_register esté activado. Si está desactivado, el inicio de sesión solo funciona para cuentas existentes con una dirección de correo electrónico coincidente.

Error “invalid_client” - comprueba que el Client ID y el Client Secret sean correctos. Asegúrate de que no haya espacios adicionales al principio o al final.

Facebook requiere una revisión de la aplicación - el inicio de sesión básico (correo electrónico, nombre) no requiere revisión. Si la aplicación está en modo sandbox, solo pueden iniciar sesión los administradores y los testers añadidos en el panel de Meta.

Notificar problemas: github.com/wppoland/polski/issues

Esta página tiene únicamente carácter informativo y no constituye asesoramiento legal. Consulta a un abogado antes de la implementación. Polski for WooCommerce es software de código abierto (GPLv2) que se proporciona sin garantía.