Autenticación - Introducción

Como SDK de Embedded Wallet, la autenticación es sumamente importante. La autenticación funciona estableciendo una sesión de firma de wallet mediante la asociación con las credenciales del usuario. Para más información sobre cómo funciona nuestro Embedded Wallet, por favor consulte la documentación de Embedded Wallet.

Para implementar la autenticación, recomendamos usar nuestro prefab LoginPanel. Ubique este prefab en SequenceExamples > Prefabs y arrástrelo bajo un Canvas en su escena. Recomendamos que el componente Canvas Scaler de su Canvas utilice el modo de escala de UI “Scale with Screen Size”. Esto hará que el LoginPanel (y cualquier otro elemento de UI bajo este Canvas) se escale automáticamente al cambiar entre diferentes plataformas de compilación.

Nota: el LoginPanel está oculto por defecto. Puede abrirlo con el método Open sin argumentos. Para ayudar con esto, el GameObject del LoginPanel no está deshabilitado, así que siéntase libre de usar GetComponentInChildren, FindObjectOfType u otro método similar para obtener una referencia al MonoBehaviour del LoginPanel.

Esto le dará acceso fácil a dos métodos de autenticación:

  1. Inicio de sesión por correo electrónico + OTP

  2. Inicio de sesión con redes sociales basado en OIDC

El SDK también ofrece soporte para: 3. Inicio de sesión con PlayFab 4. Inicio de sesión como invitado

Obtener el SequenceWallet

Una vez que haya obtenido credenciales de uno de los métodos de autenticación soportados (consulte su documentación respectiva), querrá obtener una referencia a su SequenceWallet recién creado.

Por favor, suscríbase al evento SequenceWallet.OnWalletCreated. Puede hacerlo con el siguiente fragmento de código:

SequenceWallet.OnWalletCreated += OnWalletCreatedHandler;

public void OnWalletCreatedHandler(SequenceWallet wallet) {
  // Do something
}

donde OnWalletCreatedHandler es una función que acepta un SequenceWallet como único parámetro. Si no está familiarizado con el uso de eventos en Unity, ¡revise este excelente post en Reddit!

Manejo de errores

Para capturar errores durante el proceso de inicio de sesión, asegúrese de suscribirse al evento OnLoginFailed.

SequenceLogin login = SequenceLogin.GetInstance();
login.OnLoginFailed += OnLoginFailedHandler;

public void OnLoginFailedHandler(string message, LoginMethod method, string email, List<LoginMethod> loginMethods = default)
{
  Debug.LogError($"Error logging in: {message} with login method {method} and email {email}");
}