Inicio de sesión mediante redes sociales
En su aplicación, puede implementar la autenticación de usuarios utilizando su cuenta en redes sociales. Si el primer inicio de sesión del usuario es a través de una red social, se crea automáticamente una nueva cuenta. El usuario no necesita introducir un nombre de usuario, dirección de correo electrónico u otros datos.
Existen dos formas de implementar la autenticación a través de redes sociales:
- Autenticación basada en web. En este caso, la aplicación abre un formulario en el navegador para completar la autenticación a través de la red social seleccionada. Esta opción es adecuada para aplicaciones móviles y de escritorio.
- Autenticación nativa. En este caso, la autenticación se realiza a través de la aplicación de la red social en el dispositivo del usuario. Esta opción solo es adecuada para aplicaciones móviles.
El inicio de sesión mediante redes sociales puede ser el método de autenticación principal o el alternativo para su aplicación.
Si usa el inicio de sesión mediante redes sociales como método de autenticación alternativo, la cuenta de la red social se vinculará automáticamente a una cuenta de usuario existente si se cumplen las siguientes condiciones:
- Un usuario que se registró con un nombre de usuario/dirección de correo electrónico y contraseña inició sesión en su aplicación mediante una cuenta de red social.
- Una red social devuelve una dirección de correo electrónico.
- La dirección de correo electrónico del usuario en una red social es la misma que la dirección de correo electrónico utilizada para registrarse en su aplicación.
También puede implementar la vinculación manual de una cuenta de red social.
Instrucciones
SDK admite los siguientes proveedores para el inicio de sesión mediante redes sociales:
- Amazon
- Apple
- Baidu
- Battle.net
- Discord
- GitHub
- Kakao
- MSN
- Mail.ru
- Microsoft
- Naver
- Odnoklassniki
- PayPal
- Steam
- Twitch.tv
- VK
- Vimeo
- Xbox Live
- Yahoo
- Yandex
- YouTube
Para establecer la autenticación a través de servicios web:
- En la interfaz de la aplicación, añada botones para la autenticación a través de redes sociales.
- Establezca conexiones de redes sociales para un proyecto de Login en Cuenta del editor.
- Implemente la lógica de autenticación en el lado de la aplicación.
Establecer las conexiones de redes sociales para el proyecto de Login en Cuenta del editor de Xsolla
- Abra su proyecto en Cuenta del editor.
- En el menú lateral, haga clic en Login.
- Haga clic en Configure en el panel de un proyecto de Login.
- Vaya al bloque Authentication y seleccione la sección Social login.
- Conecte redes sociales que los usuarios puedan utilizar para registrarse e iniciar sesión en la aplicación:
- Para conectar la red social deseada, haga clic en el icono ⚙ y seleccione Connect.
- Para conectar varias redes sociales a la vez, seleccione los paneles necesarios (sus bordes se volverán verdes). A continuación, en el menú desplegable Manage, seleccione Connect.
- Para conectar todas las redes sociales disponibles a la vez, haga clic en Select all. A continuación, en el menú desplegable Manage, seleccione Connect.
Integración en el lado de la aplicación
- Llame al método
startSocialAuth
de la biblioteca de Login. - Dentro del método
onActivityResult
, llame al métodofinishSocialAuth
de la biblioteca de Login.
La autenticación nativa permite a los usuarios iniciar sesión en su aplicación a través de una cuenta de red social configurada en un dispositivo móvil.
La primera vez que un usuario se conecta, la aplicación de la red social se inicia y pide permiso para autenticar al usuario. Después, la autenticación se ejecuta automáticamente sin que el usuario tenga que hacer nada.
Actualmente, el SDK ha implementado la autenticación nativa por medio de las siguientes redes sociales:
Para configurar la autenticación nativa:
- En la interfaz de la aplicación, agregue botones para la autenticación a través de redes sociales.
- Configure la aplicación en la cuenta de desarrollador para la red social.
- Para la autenticación a través de Facebook:
- Regístrese y cree una nueva aplicación.
- Establezca la página de la aplicación en su cuenta de desarrollador de Facebook.
- Para la autenticación a través de Google, configure el proyecto en Google API Console.
- Para la autenticación a través de WeChat:
- Regístrese y cree una nueva aplicación.
- Envíe la aplicación para su revisión.
- Para la autenticación a través de QQ:
- Regístrese y cree una nueva aplicación.
- Envíe la solicitud para su revisión.
- Para la autenticación a través de Facebook:
- Establezca la autenticación a través de redes sociales en el lado de Xsolla:
- Para Facebook y Google, Establezca conexiones para redes sociales en Cuenta del editor.
- Para WeChat y QQ, contacte con su gestor del éxito del cliente o envíe un correo electrónico a csm@xsolla.com.
- Instale las bibliotecas para autenticarse a través de red social. Para ello, abra el archivo
build.gradle
de su aplicación y en la sección de dependencias añada las siguientes líneas, en la que<version_number>
es la versión requerida de la biblioteca:- Para la autenticación a través de Facebook:
- groovy
implementation 'com.xsolla.android:login-facebook:<version_number>'
- Para la autenticación a través de Google:
- groovy
implementation 'com.xsolla.android:login-google:<version_number>'
- Para la autenticación a través de WeChat:
- groovy
implementation 'com.xsolla.android:login-wechat:<version_number>'
- Para la autenticación a través de QQ:
- groovy
implementation 'com.xsolla.android:login-qq:<version_number>'
- Inicializa la biblioteca de Login con los siguientes parámetros:
facebook_id
- ID de aplicación de la cuenta de desarrollador de Facebookgoogle_id
- ID de cliente para la aplicación web desde Google API Consolewechat_id
- ID de aplicación de la cuenta de desarrollador de WeChatqq_id
- ID de aplicación de la cuenta de desarrollador de QQ
Un ejemplo de inicialización de la biblioteca cuando se autentica mediante OAuth 2.0:
- kotlin
val loginConfig = LoginConfig.OauthBuilder()
.setProjectId("login-project-id")
.setOauthClientId("oauth2-client-id")
.setSocialConfig(XLogin.SocialConfig(
facebookAppId = "facebook_id",
googleServerId = "google_id",
wechatAppId = "wechat_id",
qqAppId = "qq_id"
))
.build()
XLogin.init(applicationContext, loginConfig)
- Para la autenticación a través de WeChat, modifique el código de la aplicación:
- Añada la clase
WXEntryActivity
al paquete<your_package_name>.wxapi
, en el cual<your_package_name>
es el nombre del paquete de la aplicación:
- Añada la clase
- kotlin
package <your_package_name>.wxapi
import android.app.Activity
import android.os.Bundle
import com.tencent.mm.opensdk.modelbase.BaseReq
import com.tencent.mm.opensdk.modelbase.BaseResp
import com.tencent.mm.opensdk.openapi.IWXAPI
import com.tencent.mm.opensdk.openapi.IWXAPIEventHandler
import com.tencent.mm.opensdk.openapi.WXAPIFactory
import com.xsolla.android.login.util.WechatUtils
class WXEntryActivity : Activity(), IWXAPIEventHandler {
private lateinit var iwxapi: IWXAPI
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
iwxapi = WXAPIFactory.createWXAPI(this, WechatUtils.wechatAppId, false)
iwxapi.handleIntent(intent, this)
finish()
}
override fun onReq(req: BaseReq?) {
}
override fun onResp(resp: BaseResp) {
WechatUtils.wechatResult = resp
}
}
- Añada el siguiente elemento a su archivo
AndroidManifest.xml
:
- Añada el siguiente elemento a su archivo
- kotlin
<activity
android:name="<your_package_name>.wxapi.WXEntryActivity"
android:exported="true"
android:launchMode="singleTask" />
Establezca la página de la aplicación en su cuenta de desarrollador de Facebook
- Vaya a la configuración del proyecto en la cuenta de desarrollador de Facebook.
- Vaya a Settings > Basic.
- Haga clic en Add Platform y seleccione Android.
- Especifique el nombre del paquete de su aplicación Android en el campo Google Play Package Name.
- Especifique un nombre de clase completamente cualificado de la Actividad en el campo Class Name (el valor por defecto es
com.epicgames.ue4.GameActivity
). - Genere una clave hash y especifíquela en el campo Key Hashes.
- Haga clic en Save Changes.
Para realizar una configuración más avanzada de la autenticación nativa, necesitará la App ID y el App Secret que se encuentran en la configuración del proyecto en la sección Settings > Basic.
Configurar un proyecto en Google API Console
- Vaya a Google API Console.
- Haga clic en New Project.
- Especifique Project name y Location y haga clic en Save.
- Vaya al proyecto creado y haga clic en OAuth consent screen en el menú lateral.
- Seleccione la opción External y haga clic en Crear.
- Especifique los parámetros necesarios y haga clic en Save.
- Haga clic en Credentials en el menú lateral.
- Cree un cliente de OAuth 2.0 para su aplicación Android:
- Haga clic en Crear credenciales y seleccione ID de cliente OAuth.
- Especifique Android en el campo Tipo de aplicación.
- Especifique Nombre.
- Especifique el nombre del paquete de su aplicación Android en el campo Nombre del paquete.
- Obtenga la clave SHA.
- Especifique la clave SHA generada en el paso anterior clave SHA en el campo huella digital del certificado SHA-1.
- Haga clic en Crear.
- Haga clic en Aceptar.
- Cree un cliente de OAuth 2.0 para la aplicación web:
- Haga clic en Create credentials y seleccione OAuth client ID.
- Especifique Web application en el campo Application type.
- Especifique Name.
- Haga clic en Add URL en la sección Authorized redirect URIs y especifique la URL
https://login.xsolla.com/api/social/oauth2/callback
. - Haga clic en Create.
- Haga clic en OK.
Para seguir configurando la autenticación nativa, necesitará el Client ID y Client Secret que se encuentran en la configuración del ID de cliente para la aplicación web.
Establecer las conexiones de redes sociales para el proyecto de Login en Cuenta del editor de Xsolla
- Abra su proyecto en Cuenta del editor.
- En el menú lateral, haga clic en Login.
- Haga clic en Configure en el panel de un proyecto de Login.
- Vaya al bloque Authentication y seleccione la sección Social login.
- Para establecer una red social, vaya a la tarjeta de la red social, haga clic en el icono ⚙ situado a la derecha del título y seleccione Connect.
Integración en el lado de la aplicación
- Llame al método
startSocialAuth
de la biblioteca de Login. - Dentro del método
onActivityResult
, llame al métodofinishSocialAuth
de la biblioteca de Login.
Enlaces útiles
Última actualización: 31 de Julio de 2024¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.