Build
Skip to content

Authenticating Users

Visit our Platform Requirements page for detailed information on setting up and ensuring that the authentication methods you choose are properly configured in your Builder project.

Sign In with Email OTP

Sign in users with any email, and they will receive a one-time password in their inbox. Listen for the Email Requires Code event.

img

Social Sign In

To initiate SSO-based authentication on desktop, you need to navigate to a browser to obtain the necessary id_token. On mobile, our SDK handles this process for you using integrated plugins.

On desktop platforms, listen for the Sign in Web View Required event and open the returned Sign In URL. On mobile platforms, listen for the Id Token Received event.

Get Google Id Token

img

Get Apple Id Token

img

Start Session with Id Token

Use this method to start a session using a valid Id token from Google or Apple.

img

PlayFab

You will need to include your PlayFab Title ID in the SequenceConfig.ini file during Configuration and configure PlayFab in the Builder.

Register a new PlayFab user

img

Login with existing PlayFab user

img

Sign In as a Guest

You can sign in users as guests. However, note that they will lose access to their wallet if they uninstall the app or sign out.

img

Federate Accounts

With Federated Accounts, you can associate multiple login methods with a single account and wallet. If your user has signed in with as a Guest, you will definitely want to push them towards federating their account in order to have persistent credentials with which they can access their Sequence Embedded Wallet in subsequent sessions. While a user is authenticated with the Sequence API, you can add an additional login method by using the appropriate federate account call.

img

Sign Out

Clear the credentials cache and sign out the current user.

img
const TOptional<USequenceWallet*> WalletOptional = USequenceWallet::Get();
if (WalletOptional.IsSet() && WalletOptional.GetValue())
{
    USequenceWallet * Api = WalletOptional.GetValue();
    Api->SignOut();
}

List Sessions

List the active sessions.

img
const TSuccessCallback<TArray<FSession>> OnSuccess = [=](TArray<FSession> Response)
{
    //Response is a list of Sessions
};
const FFailureCallback OnFailure = [=](const FSequenceError& Error)
{
    UE_LOG(LogTemp,Display,TEXT("Error Message: %s"),*Error.Message);
};
const TOptional<USequenceWallet*> WalletOptional = USequenceWallet::Get();
if (WalletOptional.IsSet() && WalletOptional.GetValue())
{
    USequenceWallet * Api = WalletOptional.GetValue();
    Api->ListSessions(OnSuccess,OnFailure);
}