No results for ""
EXPAND ALL
Sign in to LaunchDarkly
  • Home
  • API docs

GIVE DOCS FEEDBACK

Aliasing users

Read time: 7 minutes
Last edited: Dec 28, 2023
This feature is deprecated for SDKs that use contexts

LaunchDarkly no longer supports alias events for SDKs upgraded for contexts. LaunchDarkly continues to support sending and receiving alias events for older SDK versions. To learn more, read about our SDKs that support contexts.

To learn how to associate contexts without using the alias method, read Associating anonymous contexts with logged-in end users.

Overview

This topic explains how to alias the users of various LaunchDarkly SDKs. This feature is available for both client-side and server-side SDKs, although its behavior differs between client-side and server-side SDKs.

Aliased users

There are situations in which multiple LaunchDarkly users can represent one person. For example, this can happen when a person initially logs into an application. The person might be represented by an anonymous user before they log in, and a different user after they log in. In that case, that one person is identified by two different users as denoted by different user keys. Our SDKs can associate these two LaunchDarkly users by sending an alias event.

Only some LaunchDarkly SDKs offer the ability to manually send an alias event. Some client-side SDKs automatically send an alias event when identifying a known user if the previous user was anonymous. You can disable this behavior if necessary. To learn how, read Configuration.

Details about each SDK's configuration are available in the SDK-specific sections below:

  • Client-side SDKs
  • Server-side SDKs

Client-side SDKs

This feature is no longer supported or required in any client-side SDKs. To learn more, read the custom contexts migration guides for client-side SDKs.

Older versions of these SDKs still support aliasing. Details for these older versions are included below.

.NET (client-side)

In version 3 and newer of the .NET (client-side) SDK, aliasing is no longer supported or required. To learn more, read .NET (client-side) SDK 2.x to 3.0 migration guide.

Expand .NET (client-side) code sample for older versions

To manually send an alias event:

client.Alias(newUser, previousUser);

To learn more, read LdClient.Alias and ConfigurationBuilder.AutoAliasingOptOut.

Android

In version 4.0 and newer of the Android SDK, aliasing is no longer supported or required. To learn more, read the Android SDK 3.x to 4.0 migration guide.

Expand Android code sample for older versions

To manually send an alias event:

client.alias(newUser, previousUser);

C++ (client-side)

In version 3 and newer of the C++ (client-side) SDK, aliasing is no longer supported or required. To learn more, read C++ (client-side) SDK 2.x to 3.0 migration guide.

Expand C/C++ (client-side) code sample for older versions

To manually send an alias event:

LDClientAlias(client, newUser, previousUser);

Electron

Expand Electron code sample

To manually send an alias event:

client.alias(newUser, previousUser);

Flutter

In version 2 and newer of the Flutter SDK, aliasing is no longer supported or required. To learn more, read the Flutter SDK 1.x to 2.0 migration guide.

Expand Flutter code sample for older versions

To manually send an alias event:

await LDClient.alias(newUser, previousUser);

iOS

In version 8 and newer of the iOS SDK, aliasing is no longer supported or required. To learn more, read the iOS SDK 7.x to 8.0 migration guide for Objective-C or for Swift.

Expand iOS code sample for older versions

To manually send an alias event:

LDClient.get()!.alias(context: newUser, previousContext: previousUser)

JavaScript

In version 3 and newer of the JavaScript SDK, aliasing is no longer supported or required. To learn more, read JavaScript SDK 2.x to 3.0 migration guide.

Expand JavaScript code sample for older versions

Both alias parameters must have key attributes. If the LaunchDarkly client auto-generated a unique identifier for one of your users, you can access the user's complete object with the getUser method.

To manually send an alias event:

const previousUser = client.getUser();
client.alias(newUser, previousUser);

Node.js (client-side)

In version 3 and newer of the Node.js SDK, aliasing is no longer supported or required. To learn more, read Node.js (client-side) SDK 2.x to 3.0 migration guide.

Expand Node.js (client-side) code sample for older versions

To manually send an alias event:

client.alias(newUser, previousUser);

React Native

In version 7 and newer of the React Native SDK, aliasing is no longer supported or required. To learn more, read React Native SDK 6.x to 7.0 migration guide.

Expand React Native code sample for older versions

To manually send an alias event:

client.alias(user, previousUser);
// to send an alias event in a different environment than the default,
// pass in the environment key (optional)
client.alias(user, previousUser, environment);

Roku

In version 2 and newer of the Roku SDK, aliasing is no longer supported or required. To learn more, read Roku SDK 1.x to 2.0 migration guide.

Expand Roku code sample for older versions

To manually send an alias event:

client.alias(user, previousUser)

Server-side SDKs

This feature is available in the following server-side SDKs:

.NET (server-side)

In version 7.0 and newer of the .NET (server-side) SDK, aliasing is no longer supported or required. To learn more, read .NET (server-side) SDK 6.x to 7.0 migration guide.

Expand .NET (server-side) code sample for older versions

To manually send an alias event:

client.Alias(newUser, previousUser);

Apex

Expand Apex code sample

To manually send an alias event:

client.alias(newUser, previousUser)

C++ (server-side)

In version 3.0 and newer of the C++ (server-side) SDK, aliasing is no longer supported or required. To learn more, read C++ (server-side) SDK 2.x to 3.0 migration guide.

Expand C++ (server-side) code sample for older versions

To manually send an alias event:

LDClientAlias(client, newUser, previousUser);

Erlang

In version 2 and newer of the Erlang SDK, aliasing is no longer supported or required. To learn more, read Erlang SDK 1.x to 2.0 migration guide.

Expand Erlang code sample for older versions

To manually send an alias event:

ldclient:alias(User, PreviousUser)

Go

In version 6.0 and newer of the Go SDK, aliasing is no longer supported or required. To learn more, read Go SDK 5.x to 6.0 migration guide.

Expand Go code sample for older versions

To manually send an alias event in older versions of the Go SDK:

client.Alias(newUser, previousUser)

Haskell

In version 4 and newer of the Haskell SDK, aliasing is no longer supported or required. To learn more, read Haskell SDK 3.x to 4.0 migration guide.

Expand Haskell code sample for older versions

To manually send an alias event:

alias client newUser previousUser

Java

In version 6 and newer of the Java SDK, aliasing is no longer supported or required. To learn more, read Java SDK 5.x to 6.0 migration guide.

Expand Java code sample for older versions

To manually send an alias event:

client.alias(user, previousUser);

Lua

In version 2.0 and newer of the Lua SDK, aliasing is no longer supported or required. To learn more, read Lua (server-side) SDK 1.x to 2.0 migration guide.

Expand Lua code sample for older versions

To manually send an alias event:

client:alias(newUser, previousUser)

Node.js (server-side)

In version 7.0 and newer of the Node.js (server-side) SDK, aliasing is no longer supported or required. To learn more, read Node.js (server-side) SDK 6.x to 7.0 migration guide.

Expand Node.js (server-side) code sample for older versions

To manually send an alias event:

client.alias(newUser, previousUser);

PHP

In version 5.0 and newer of the PHP SDK, aliasing is no longer supported or required. To learn more, read PHP SDK 4.x to 5.0 migration guide.

Expand PHP code sample for older versions

To manually send an alias event:

$client->alias($user, $previousUser);

Python

In version 8 and newer of the Python SDK, aliasing is no longer supported or required. To learn more, read Python SDK 7.x to 8.0 migration guide.

Expand Python code sample for older versions

To manually send an alias event:

ldclient.get().alias(new_user, previous_user)

Ruby

In version 7 and newer of the Ruby SDK, aliasing is no longer supported or required. To learn more, read Ruby SDK 6.x to 7.0 migration guide.

Expand Ruby code sample for older versions

To manually send an alias event:

client.alias(new_user, previous_user)

Rust

In version 1 and newer of the Rust SDK, aliasing is not supported or required. To learn more, read Rust SDK v1 implementation guide.

Expand Rust code sample for the beta version

To manually send an alias event:

client.alias(user, previous_user);