Extension:GoogleLogin

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Extension:GoogleLogin/PreAuthManager and the translation is 95% complete.

Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Nederlands • ‎español • ‎italiano • ‎occitan • ‎polski • ‎português • ‎português do Brasil • ‎sicilianu • ‎русский • ‎日本語
MediaWiki extensions manual
OOjs UI icon advanced.svg
GoogleLogin
Release status: beta
GoogleLogin-Screenshot.PNG
Implementación User identity, Special page
Descripción Proporciona inicio de sesión con la cuenta de Google (utilizando la API de Google)
Autor(es) Florian Schmidt (Florianschmidtwelzowtalk)
Última versión véase la versión del ciclo de la vida (2015-04-23)
MediaWiki véase la versión del ciclo de la vida
PHP 5.3+ (since 0.4.0: 5.5+)
Cambios de la base de datos
Licencia MIT License
Descarga
Extension:GoogleLogin/Changelog
Hooks que usa
UserLogoutComplete
LoadExtensionSchemaUpdates
UserLoginForm
UserCreateForm
PersonalUrls
SpecialPage_initList
GetPreferences
RecentChange_save
ListDefinedTags
ChangeTagsListActive
Translate the GoogleLogin/PreAuthManager extension if it is available at translatewiki.net
Verificar uso y versión de la matriz.
Asuntos Tareas abiertas · Reportar un bug
This page documents the GoogleLogin extension like it was installed and used before the new authentication system (also referred to as AuthManager), which is implemented in all supported MediaWiki versions. You should use it, instead of this version of Extension:GoogleLogin.

La extensión GoogleLogin permite a los usuarios iniciar sesión con su cuenta de Google. La extensión utiliza la API de Google para solicitar los datos del usuario. Si el usuario ha iniciado sesión por primera vez, la extensión permite crear un usuario con la dirección de correo de Google y el nombre de usuario (o nombre de pila, o un nombre propio).

Requisitos

Para utilizar esta extensión, necesitas:

  • MediaWiki 1.23+ (para la versión v0.2.0 y superior necesitas al menos MediaWiki 1.24)
  • MySQL (ningún PostgreSQL o SQLite es soportado en este momento)
  • PHP 5.3+
  • Acceso a Google Developer
  • Acceso a Google+ API
  • Credenciales API para Webapplication (ID de cliente y Cliente Secreto)
  • Versión v0.2.1 hasta la versión 0.3.1 requiere la Extension GoogleAPIClient

[3], de otro tipo de actualización de compositor, solamente.

Instalación

  • Descarga y extrae los archivos en el directorio «GoogleLogin» dentro del directorio extensions/ existente.
  • Añade el siguiente código a tu LocalSettings.php (preferiblemente al final):
    require_once "$IP/extensions/GoogleLogin/GoogleLogin.php";
    
  • Ejecuta el script de actualización, que creará automáticamente las tablas que necesita esta extensión en la base de datos.
  • Configurar los parámetros requeridos
  • Asegurarse de que tiene permiso de escritura para el directorio ./wiki/extensions/GoogleLogin/cache
  • Yes Listo – Navega a Special:Version en tu wiki para verificar que la apariencia se haya instalado correctamente.

Configuración

Asegúrese de que todos los ajustes residen en virtud de la Directiva "require_once" añadido para este plugin. De lo contrario, los ajustes personalizados se sobrescribirán con los ajustes por defecto, como se indica aquí: Topic:Si6ituq6hmxb07xm

La extensión proporciona dos variables de configuración para establecer el ID de cliente y el Cliente Secreto (te dan a este par en la consola de desarrollo de Google, eliminar "<" y ">").

$wgGLSecret = '<your-client-secret>';
$wgGLAppId = '<your-client-id>';

Parámetros de configuración adicional

Variables de configuración desde la versión Valor predeterminado Descripción
$wgGLShowCreateReason[gerrit 1] v0.1.1 (eliminado en 0.4.0) false Si es verdad, anuncios a través de Google Login como la razón Crear Cuenta en la entrada de registro.
$wgGLAllowedDomains[gerrit 2] v0.1.1 '' Una serie de dominios de correo electrónico, que están autorizados para utilizar con GoogleLogin, por ejemplo, array( 'example.com' );. Por defecto: se mantienen todos los dominios.
$wgGLAllowedDomainsStrict[gerrit 2] v0.1.1 false Solo se observa, si $wgGLAllowedDomains es una variable. Si es verdadero, el dominio de correo electrónico será controlado completamente en contra de los dominios permitidos (en lugar de sólo el dominio de nivel superior), por ejemplo:
test.example.com no se permitirá cuando $wgGLAllowedDomainsStrict sea verdadero y example.com sea una variable constante.

test.example.com se permitirá cuando $wgGLAllowedDomainsStrict sea falso y example.com sea una variable constante.

$wgGLShowKeepLogin[gerrit 3] v0.1.2 (eliminado en 0.4.0) true Si es verdad, la casilla "mantener el inicio de sesión" para GoogleLogin (antes Entrar con botón de Google) es visible.
$wgGLAllowAccountCreation[gerrit 4] v0.1.2 (eliminado en 0.4.0) $wgGroupPermissions['*']['createaccount'] Controles, si el usuario puede crear una cuenta con GoogleLogin o no. Por defecto, se utilizará el valor de los permisos de grupo para usuarios no registrados.
$wgGLReplaceMWLogin[gerrit 4] v0.1.2 (eliminado en 0.4.0) false Si es verdad, MediaWiki Login-workflow será reemplazado por GoogleLogin. incluye:


  • Enlace de inicio de sesión y links personalizados.
  • Reemplaza el Special:UserLogin por Special:GoogleLogin
$wgGLForceKeepLogin[gerrit 5] v0.2.0 (eliminado en 0.4.0) false Control, si Mantener iniciada la sesión (que significa sesiones ya logueadas) siempre está activado (incluso si el usuario no marcó la casilla de registro o torreón de acceso de Google ¡sustituye al inicio de sesión de MediaWiki!)
This configuration doesn't overwrite $wgGLShowKeepLogin, but it will overwrite the value of the keep login checkbox, so make sure, that you set this configuration to false if you want to avoid confusion.
$wgGLAPIKey[gerrit 6] v0.2.1 '' Clave para el público acceso a la API. Utilizan solamente para las acciones de administración a comprobar, si el usuario tiene un perfil de Google Plus o no.
$wgGLShowRight[gerrit 7] v0.3.0 (eliminado en 0.4.0) false Si es verdadero, el botón de inicio de sesión en Google Special:UserLogin se moverá hacia el lado derecho del formulario.
$wgGLNeedsConfirmEmail[gerrit 8] v0.3.0 (eliminado en 0.4.0) true Si el usuario tiene que confirmar la dirección de correo Google tras el registro de una nueva cuenta de MediaWiki local o no.

Ajustes en la consola de desarrollo de Google

Para utilizar esta extensión, necesita una cuenta de Google Developer y acceso a la consola de desarrollo. Esto es simple (¡muy simple!) guía paso por paso (utilice el paso 1 oficial de step-by-step ejemplo con estos valores):

  1. Abrir la consola de desarrollo de Google
  2. Lee y acepta los términos de servicio
  3. Crear su primer proyecto
  4. Ve a APIS & AUTH
  5. Ve a APIs y habilita Google+ API (lee y acepta los términos)
  6. Ve a Credenciales
  7. En la sección OAuth clickea Crear un nuevo ID de cliente
  8. Seleccione Web application como APPLICATION TYPE, como Authorized JavaScript origins introducción del nombre de dominio (¡no hay comodines y directorios permitidos!)
  9. Escribir en su Authorized redirect URL como ejemplo:
    Si su dominio es example.com y ha instalado MediaWiki en la raíz de su dominio, el URI de redireccionamiento es el siguiente: http://example.com/index.php/Special:GoogleLogin
  10. Click en crear y copiar el ID de Cliente y Cliente Secreto a las variables de configuración en LocalSettings.php

"Special:GoogleLogin" o (en Alemán por ejemplo) "Spezial:Mit_Google_anmelden"

Para permitir redirigir URI en la consola de desarrolladores de Google, debe estar en el idioma del contenido. Por lo tanto, si su wiki tiene un lenguaje contenido en alemán, a continuación, introduzca "Spezial:Mit_Google_anmelden" y no "Special:GoogleLogin". Si ha utilizado el idioma equivocado, todas las solicitudes de autenticación fallará con redirigir desajuste uri.

= Depurar

Normalmente, se puede ver el mensaje de error en todas las páginas de error genérico. A veces hay errores internos, llamados excepciones. En este caso, por favor, agregue $wgShowExceptionDetails con el valor true en LocalSettings.php para ver el mensaje de excepción completo. Para una petición de soporte, por favor proporcione siempre las líneas de la excepción.

Uso en una wiki privada

Si ha configurado su wiki como privado con

$wgGroupPermissions['*']['read'] = false;

La lista blanca de la página "Special:GoogleLogin", de modo que los usuarios anónimos pueden acceder a la URL de devolución de llamada después de haber sido redirigida desde el proveedor de autenticación. Puede hacer esto añadiendo la siguiente línea a su LocalSettings.php:

$wgWhitelistRead = array( 'Special:GoogleLogin' );

Permitir la creación de cuentas sólo a través de GoogleLogin

Es posible desactivar la función de creación de la cuenta de MediaWiki. Normalmente GoogleLogin no dan la opción de crear una nueva cuenta, también. Es posible cambiar esto, de que usuarios pueden seguir creando una cuenta con GoogleLogin, pero no puede con la cuenta de vainilla formulario de creación. Para ello, tiene que configurar las siguientes varaibles de configuración en su LocalSettings.php:

$wgGroupPermissions['*']['createaccount'] = false;
$wgGLAllowAccountCreation = true;

If you want to remove the Login form of MediaWiki, too, you can set this configuration variable, too:

$wgGLReplaceMWLogin = true;

Si desea eliminar GoogleLogin en el futuro por cualquier motivo, los usuarios todavía pueden acceder a su instalación de MediaWiki, sin dar de alta una nueva cuenta. GoogleLogin crea cuentas MediaWiki normales con una contraseña aleatoria. nuestros usuarios sólo tienen que restablecer su contraseña a la página especial Special:PasswordReset.

MobileFrontend <-> Conflicto con GoogleLogin (solo con $wgGLReplaceMWLogin = true; y MediaWiki <= 1.26!)

Versión de MediaWiki: 1.25

MobileFrontend, la extensión para proporcionar una versión optimizada para móviles de su wiki, en realidad entra en conflicto con GoogleLogin si establece $wgGLReplaceMWLogin como true (para no permitir la entrada con forma de la conexión de vainilla). En el caso, que MobileFrontend no cargara después GoogleLogin (la línea require_once de MobileFrontend en tu LocalSettings.php es después de la de GoogleLogin), en la página especial UserLogin (que se encarga de la entrada con nombre de usuario y contraseña) será sobrescrita por GoogleLogin primera vez y por MobileFrontend la segunda vez (para proporcionar una página de acceso optimizada a móvil). En este caso, MobileFrontend reemplaza y los usuarios móviles aún pueden iniciar sesión con nombre de usuario y contraseña.

En realidad, este problema se resuelve en la rama de lanzamiento MediaWiki/versión 1.26 (que se registra en task T74910) de MobileFrontend. Para versiones anteriores de MediaWiki/MobileFrontend necesita cambiar el orden en que se cargan las extensiones. Ponga en require_once líneas de configuración de GoogleLogin en algún lugar después de MobileFrontend en su LocalSettings.php. Esta solución debe ser obsoleta en una de las siguientes versiones de MobileFrontend.

¿Qué puede hacer esta extensión?

Con la actualización de la base de datos, la ampliación creará una nueva tabla llamada prefix_user_google_user que contiene la conexión necesaria entre los usuarios del wiki y cuentas de Google. Almacena sólo el ID de usuario de Google y la identificación de usuario Wiki.

Si un usuario llama a la página especial de GoogleLogin, será inmediatamente redireccionado a la petición de autenticación de Google para darle a su aplicación acceso a cierta información de usuario almacenada por Google. El usuario debe aceptar esta solicitud (o no puede usar el inicio de sesión con Google). Después de aceptar, el usuario tiene la posibilidad, si no se registra como usuario de la wiki, para crear una nueva cuenta. El nombre de usuario lo puede escoger uno mismo o elegir una de las sugerencias, basado en el nombre de usuario de Google y el nombre dado (si uno es gratis y creable). Si el nombre de usuario elegido es instanciable (gratis, válida y no bloqueado), se creará un nuevo usuario con el nombre de usuario y el Google-Mail como correo electrónico, dirección y vinculada a la cuenta de Google.

Si el usuario está conectado (medios: ya hay una cuenta en el wiki) se puede vincular esta cuenta con la cuenta de Google, esto el usuario lo debe hacer solo una vez. Si se crea la conexión, el usuario será capaz de iniciar sesión, simplemente haciendo clic Entrar con Google en Special:Login.

Si la cuenta en el wiki y la cuenta de Google están conectadas, el usuario puede, si navega hacia "Special:GoogleLogin", desvincular esa cuenta y la cuenta de Google.

Google API PHP Client

Esta extensión utiliza el Google API PHP Client (incluido en versiones anteriores a 0.2.1), distribuido bajo la Licencia Apache 2.0. El cliente se puede descargar desde GitHub.

Ciclo de vida de las versiones

En la siguiente tabla encontrará versiones de la extensión GoogleLogin y la versión MediaWiki correspondiente para el cual la versión GoogleLogin fue construido para y si todavía está soportado (y hasta cuándo) o no. Mayormente el apoyo de una versión es casi la misma que el ciclo de vida de la versión correspondiente de MediaWiki.

Versión Versión de MediaWiki correspondiente Estado Lanzamiento Término de vida
0.4.x 1.28.x Versión actual 2016-06-18 noviembre de 2017(2017-11)
0.4.0 1.27.x (LTS) versión actual 2016-07-20 junio de 2019(2019-06)
0.3.1 1.27.x (LTS) obsoleto (reemplazado por 0.4.0) 2016-06-10 2017-07-20
0.3.0 1.26.x Versión previa n/a noviembre de 2016(2016-11)
0.2.1 1.25.x Descontinuada n/a 2016-06-18
0.2.0 1.24.x Descontinuada n/a 2016-06-18
0.1.3 1.23.x (LTS) Descontinuada n/a 2016-06-18

Versiones incluidas en la tabla anterior que están marcadas como suspendidas no recibirán ninguna corrección. Pueden contener vulnerabilidades críticas de seguridad y otros virus importantes, entre ellos la amenaza de una posible pérdida de datos y/o corrupción. El desarrollador también ha emitido una fuerte recomendación de que solo versiones mencionadas anteriormente como Versión actual o al menos Versión previa se debe utilizar en un entorno de producción. Las versiones anteriores lo más probable es que obtendran correcciones de errores reportados, que perjudiquen la funcionalidad principal de la extensión, mientras que las versiones actuales consiguen correcciones para la mayoría de los errores referidos (incluso si no son parte de la funcionalidad del núcleo). Las nuevas características serán muy probablemente parte de las nuevas versiones. Las características de las versiones anteriores de GoogleLogin son responsabilidad del(los) desarrollador(es).

Referencias

La revisión de código Gerrit