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.
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
Get Apple Id Token
Start Session with Id Token
Use this method to start a session using a valid Id token from Google or Apple.
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
Login with existing PlayFab user
Custom PlayFab integration
If you have your own PlayFab integration, you are welcome to use it. Once you've received your SessionTicket from PlayFab, please pass it along for authentication with Sequence APIs using PlayfabAuthenticateWithSessionTicket
method on your USequenceAthenticator
object.
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.
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.
Sign Out
Clear the credentials cache and sign out the current user.
const TOptional<USequenceWallet*> WalletOptional = USequenceWallet::Get();
if (WalletOptional.IsSet() && WalletOptional.GetValue())
{
USequenceWallet * Api = WalletOptional.GetValue();
Api->SignOut();
}
List Sessions
List the active sessions.
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);
}