> ## Documentation Index
> Fetch the complete documentation index at: https://docs.sequence.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Administrar Sesiones en Unreal

> Documentación para la API del SDK de Unreal para gestionar sesiones en la infraestructura de Sequence orientada a juegos web3.

## Obtener Id Token

Un caso de uso común es verificar la identidad del usuario en su backend después de que el usuario haya completado el proceso de inicio de sesión en su app cliente.
Obtenga un Sequence Id Token de sus usuarios para enviarlo a su backend y verificarlo usando cualquier librería JWKS.
Lea nuestra [Guía de Verificación Backend](/sdk/headless-wallet/verification) para más información.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/BL56uFF7L2QsoctO/images/unreal/get_id_token.png?fit=max&auto=format&n=BL56uFF7L2QsoctO&q=85&s=4179fc13b49e7d06b9ad1d8809ab7740" width="2118" height="1198" data-path="images/unreal/get_id_token.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    const TFunction<void (FSeqIdTokenResponse_Data)> OnApiSuccess = [OnSuccess](const FSeqIdTokenResponse_Data& Data) { };
    const TFunction<void (FSequenceError)> OnApiFailure = [OnFailure](const FSequenceError& Err) { };

    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->GetIdToken(Nonce, OnApiSuccess, OnApiFailure);
    ```
  </Tab>
</Tabs>

## Verificar sesión existente

Compruebe si su cliente tiene una sesión existente almacenada.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/P54GoXc5KxoCAtL8/images/unreal/check_existing_session.png?fit=max&auto=format&n=P54GoXc5KxoCAtL8&q=85&s=43d2d917e09f95517e4132fa1860df80" width="2242" height="1184" data-path="images/unreal/check_existing_session.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    USequenceSessions* Sessions = NewObject<USequenceSessions>();
    const bool Exists = Sessions->CheckExistingSession();
    ```
  </Tab>
</Tabs>

## Cerrar sesión

Borre el caché de credenciales y cierre la sesión del usuario actual.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/jCmUvzGpoEMBvubT/images/unreal/sign_out.png?fit=max&auto=format&n=jCmUvzGpoEMBvubT&q=85&s=3c9fbc015f9d40f70f03ac539ece271a" width="2242" height="1184" data-path="images/unreal/sign_out.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->SignOut();
    ```
  </Tab>
</Tabs>

## Listar sesiones

Lista las sesiones activas.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/AFzdYwHtaLpVA9X3/images/unreal/list_sessions.png?fit=max&auto=format&n=AFzdYwHtaLpVA9X3&q=85&s=cc0c00f87e93f701314dbab076dc3105" width="2242" height="1184" data-path="images/unreal/list_sessions.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    const TFunction<void (TArray<FSeqListSessions_Session>)> OnApiSuccess = [OnSuccess](const TArray<FSeqListSessions_Session>& Sessions) { };
    const TFunction<void (FSequenceError)> OnApiFailure = [OnFailure](const FSequenceError& Err) { };

    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->GetIdToken(Nonce, OnApiSuccess, OnApiFailure);
    ```
  </Tab>
</Tabs>

## Listar cuentas

Listar sus cuentas.

<Tabs>
  <Tab title="Blueprint">
    <Frame>
      <img src="https://mintcdn.com/sequence-0fb8d9e6/AFzdYwHtaLpVA9X3/images/unreal/list_accounts.png?fit=max&auto=format&n=AFzdYwHtaLpVA9X3&q=85&s=2d430950e2ab8a58749f1ed330d5b273" width="2242" height="1184" data-path="images/unreal/list_accounts.png" />
    </Frame>
  </Tab>

  <Tab title="C++">
    ```cpp theme={null}
    const TFunction<void (FSeqListAccountsResponse_Data)> OnApiSuccess = [OnSuccess](const FSeqListAccountsResponse_Data& Sessions) { };
    const TFunction<void (FSequenceError)> OnApiFailure = [OnFailure](const FSequenceError& Err) { };

    USequenceWallet* Wallet = NewObject<USequenceWallet>();
    Wallet->GetIdToken(Nonce, OnApiSuccess, OnApiFailure);
    ```
  </Tab>
</Tabs>
