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 autenticación, recomendamos usar nuestro boilerplate SequenceLoginWindow. Recomendamos que el componente Canvas Scaler de su Canvas utilice el modo de escala de interfaz “Scale with Screen Size”. Así, la ventana de inicio de sesión (y cualquier otro elemento de UI bajo ese Canvas) se ajustará automáticamente al cambiar de plataforma de compilación.

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}");
}