Extension:GoogleLogin
GoogleLogin Estado de lanzamiento: beta |
|
---|---|
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 (Florianschmidtwelzowdiscusión) |
Ú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 | Sí |
Licencia | MIT Licencia |
Descarga | Extension:GoogleLogin/Changelog |
|
|
|
|
Descargas trimestrales | 53 (Ranked 83rd) |
Traduce la extensión GoogleLogin/PreAuthManager si está disponible en translatewiki.net | |
Asuntos | Tareas abiertas · Reportar un bug |
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
[1], de otro tipo de actualización de compositor
, solamente.
- MediaWiki 1.23+ (for version v0.2.0 and above you need at least MediaWiki 1.24)
- MySQL (no PostgreSQL or SQLite support for now!)
- PHP 5.3+
- Google Developer Access
- Google+ API access
- API Credentials for Webapplication (Client ID and Client Secret)
- Version v0.2.1 until version 0.3.1 requires the Extension GoogleAPIClient[2], otherwise run
composer update
, only.
Instalación
- Descarga y extrae los archivos en un directorio denominado «
GoogleLogin
» dentro de la carpetaextensions/
.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/GoogleLogin - Añade el siguiente código en la parte final de tu archivo LocalSettings.php :
require_once "$IP/extensions/GoogleLogin/GoogleLogin.php";
- Ejecuta la secuencia de actualización, que creará automáticamente las tablas de la base de datos que necesita esta extensión.
- Configurar los parámetros requeridos
- Asegurarse de que tiene permiso de escritura para el directorio ./wiki/extensions/GoogleLogin/cache
- Hecho – Navega a Special:Version en el wiki para verificar que la extensión se haya instalado correctamente.
Configuración
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 isn't allowed if |
$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:
|
$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):
- Abrir la consola de desarrollo de Google
- Lee y acepta los términos de servicio
- Crear su primer proyecto
- Ve a APIS & AUTH
- Ve a APIs y habilita Google+ API (lee y acepta los términos)
- Ve a Credenciales
- En la sección OAuth clickea Crear un nuevo ID de cliente
- Seleccione Web application como APPLICATION TYPE, como Authorized JavaScript origins introducción del nombre de dominio (¡no hay comodines y directorios permitidos!)
- 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
- Click en crear y copiar el ID de Cliente y Cliente Secreto a las variables de configuración en LocalSettings.php
- Read and accept the terms of service
- Create your first project
- Go to APIS & AUTH
- Go to APIs and enable Google+ API (read and accept the terms)
- Go to Credentials
- In Section OAuth click Create new Client ID
- Select as Web application as APPLICATION TYPE, as Authorized JavaScript origins type in your domain name (no wildcards and directories allowed!)
- Type in your Authorized redirect URI like this example:
- If your domain is example.com and you have installed MediaWiki in Root of your domain, the redirect URI is as follows: http://example.com/index.php/Special:GoogleLogin
- Click create and copy the Client ID and Client Secret to the configuration variables in 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.
<span id="MobileFrontend _GoogleLogin_conflict_(only_with_$wgGLReplaceMWLogin = true;
_and_MediaWiki_<=_1.26!)">
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. The user must accept this request (or they can not use the login with Google). After accepting, the user has the possibility, if they are not logged in as a wiki user, to create a new account. The username they can choose self or choose one of the suggestions, based on the Google user name and given name (if one s free and createable). If the chosen username is creatable (free, valid and not blocked), a new user with the username and the Google-Mail as e-mail-address will be created and linked to the Google Account.
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
In the following table you'll find versions of the GoogleLogin extension, the corresponding MediaWiki version for which the GoogleLogin version was built for and if it's still supported (and until when) or not. Mostly the support of a version is nearly the same as the lifecycle of the corresponding MediaWiki version.
Version | Corresponding MediaWiki version | Status | Release | End-of-life |
---|---|---|---|---|
0.4.x | 1.28.x | current version | noviembre de 2017 | |
0.4.0 | 1.27.x (LTS) | current version | junio de 2019 | |
0.3.1 | 1.27.x (LTS) | obsolete (replaced by 0.4.0) | ||
0.3.0 | 1.26.x | versión heredada | n/a | noviembre de 2016 |
0.2.1 | 1.25.x | discontinued | n/a | |
0.2.0 | 1.24.x | discontinued | n/a | |
0.1.3 | 1.23.x (LTS) | discontinued | n/a |
Versions included in the above table that are marked as discontinued will not receive any fixes. They may contain critical security vulnerabilities and other major bugs, including the threat of possible data loss and/or corruption. The developer has also issued a strong recommendation that only versions listed above as current version or at least legacy version should be used in a production environment. Legacy versions will most likely get fixes for reported bugs that harms the core functionality of the extension, while current versions get fixes for most of the reported bugs (even if they're not part of the core functionality). New features will most likely be part of new versions. Backporting features to older versions of GoogleLogin is up to the developer(s).
Referencias