Skip to main content

User management

Use User methods to manage the current user's account. You can access the current user with clerk.user.

Reload user

let refreshedUser = try await user.reload()
let updatedUser = try await user.update(.init(
  username: "janedoe",
  firstName: "Jane",
  lastName: "Doe"
))
let emailAddress = try await user.createEmailAddress("jane@example.com")
let phoneNumber = try await user.createPhoneNumber("+15551234567")

Create external account with OAuth

Create an external account with an OAuth provider (e.g., Google, GitHub, see all providers):

let externalAccountOAuth = try await user.createExternalAccount(
  provider: .google,
  redirectUrl: "myapp://callback",
  additionalScopes: ["email", "profile"]
)
let externalAccountIDToken = try await user.createExternalAccount(
  provider: .apple,
  idToken: idToken
)
let passkey = try await user.createPasskey()
let totp = try await user.createTOTP()
let verifiedTotp = try await user.verifyTOTP(code: "123456")
let deletedTotp = try await user.disableTOTP()
let backupCodes = try await user.createBackupCodes()
let appleAccount = try await user.connectAppleAccount()
let response = try await user.getOrganizationInvitations(
  page: 1,
  pageSize: 20,
  status: ["pending"]
)

let organizationInvitations = response.data
let response = try await user.getOrganizationMemberships(
  page: 1,
  pageSize: 20
)

let organizationMemberships = response.data
let response = try await user.getOrganizationSuggestions(
  page: 1,
  pageSize: 20,
  status: ["pending"]
)

let organizationSuggestions = response.data
let organizationCreationDefaults = try await user.getOrganizationCreationDefaults()
let sessions = try await user.getSessions()
let updatedPassword = try await user.updatePassword(
  .init(
    currentPassword: "old-password",
    newPassword: "new-password",
    signOutOfOtherSessions: true
  )
)
let profileImage = try await user.setProfileImage(imageData: imageData)
let deletedProfileImage = try await user.deleteProfileImage()
let deletedUser = try await user.delete()

Feedback

What did you think of this content?

Last updated on