User management
Use User methods to manage the current user's account. You can access the current user reactively with Clerk.userFlow or directly with Clerk.activeUser.
Reload user
val refreshedUser = user.reload()val updatedUser = user.update {
username = "janedoe"
firstName = "Jane"
lastName = "Doe"
}val emailAddress = user.createEmailAddress("jane@example.com")val phoneNumber = user.createPhoneNumber("+15551234567")Create external account with OAuth
Create an external account with an OAuth provider (e.g., Google, GitHub, see all providers):
when (
val result =
user.createExternalAccount(
User.CreateExternalAccountParams(
provider = OAuthProvider.GOOGLE,
redirectUrl = "myapp://callback"
)
)
) {
is ClerkResult.Success -> {
val externalAccountOAuth = result.value
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}val passkey = user.createPasskey()val totp = user.createTOTP()val verifiedTotp = user.verifyTOTP(code = "123456")val deletedTotp = user.disableTOTP()val backupCodes = user.createBackupCodes()List Organization invitations
The User.getOrganizationInvitations() companion helper is also available when you don't have a User instance in scope.
when (val result = user.getOrganizationInvitations(limit = 20, offset = 0, status = "pending")) {
is ClerkResult.Success -> {
val invitations = result.value.data
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}when (val result = user.getOrganizationMemberships(limit = 20, offset = 0)) {
is ClerkResult.Success -> {
val memberships = result.value.data
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}List Organization suggestions
The User.getOrganizationSuggestions() companion helper is also available when you don't have a User instance in scope.
when (val result = user.getOrganizationSuggestions(statuses = listOf("pending"))) {
is ClerkResult.Success -> {
val suggestions = result.value.data
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}when (val result = user.getOrganizationCreationDefaults()) {
is ClerkResult.Success -> {
val creationDefaults = result.value
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}val sessions = user.getSessions()when (
val result =
user.updatePassword(
User.UpdatePasswordParams(
currentPassword = "old-password",
newPassword = "new-password",
signOutOfOtherSessions = true
)
)
) {
is ClerkResult.Success -> {
val updatedUser = result.value
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}when (val result = user.setProfileImage(file)) {
is ClerkResult.Success -> {
val profileImage = result.value
}
is ClerkResult.Failure -> {
// Handle the failure.
}
}val deletedProfileImage = user.deleteProfileImage()val deletedUser = user.delete()Feedback
Last updated on