Skip to main content
Docs

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):

val account = user.createExternalAccount(
    provider = OAuthProvider.GOOGLE,
    redirectUrl = "myapp://callback",
    additionalScopes = listOf("email", "profile")
)
val account = user.createExternalAccount(
    provider = IdTokenProvider.GOOGLE,
    idToken = idToken
)
val passkey = user.createPasskey()
val totp = user.createTOTP()
val verifiedTotp = user.verifyTOTP(code = "123456")
val deletedTotp = user.disableTOTP()
val backupCodes = user.createBackupCodes()
val invitations = user.getOrganizationInvitations()
val memberships = user.getOrganizationMemberships()
val suggestions = user.getOrganizationSuggestions()
val sessions = user.getSessions()
val updatedUser = user.updatePassword(
    currentPassword = "old-password",
    newPassword = "new-password",
    signOutOfOtherSessions = true
)
val imageResource = user.setProfileImage(imageData)
val deletedProfileImage = user.deleteProfileImage()
val deletedUser = user.delete()

Feedback

What did you think of this content?

Last updated on

GitHubEdit on GitHub