Disconnect Provider

Sometimes we or the player want to disconnect an identity provider from their account. In this how-to we'll explain how to disconnect a provider from a player's account in a safe manner.

Prerequisites

Before we begin, ensure you have the following:

To learn how to connect providers to a player's account, you can read our documentation on Connecting Providers to a Player

List Connected Accounts

We first get a list of connected accounts to see which providers are connected to the player's account.

LootLockerSDKManager.ListConnectedAccounts((response) =>
{
    // Optional handling of case where only 1 provider is left on the player
    if (response.connected_accounts.Length == 1)
    {
        Debug.Log("Player has only 1 account connected. Disconnecting this provider will leave the player without any connected providers.");
        return;
    }

    Debug.Log("Player has " + response.connected_accounts.Length.ToString() + " accounts connected.");

    // Log all connected accounts to the console
    foreach (var account in response.connected_accounts)
    {
        Debug.Log("Connected with: " + account.provider_name);
    }
});

Disconnect Account

When disconnecting providers, we can end up in a situation where the player has no connected providers. Make sure to handle this case in your game, as the player will not be able to log in anymore if all the providers are disconnected.

Now we have a list of connected accounts, we can disconnect one of them.

// The following providers are supported:
// LootLocker.LootLockerEnums.LootLockerAccountProvider.guest;
// LootLocker.LootLockerEnums.LootLockerAccountProvider.google;
// LootLocker.LootLockerEnums.LootLockerAccountProvider.apple;

// We'll use Apple for this example
var account = LootLocker.LootLockerEnums.LootLockerAccountProvider.apple;

LootLockerSDKManager.DisconnectAccount(account, (response) =>
{
    if(!response.success)
    {
        Debug.Log("Could not disconnect account");
        return;
    }

    Debug.Log("Successfully disconnected account");
});

Conclusion

In this how-to we've shown you how to disconnect an identity provider from a player. If you want to learn more, you can read about how to connect a provider or our general Unified Player Account documentation.

Last updated