Unlinking accounts
Once a user has linked additional accounts to their profile, you may also want to give them the option to unlink those accounts.
You can use the following methods from the usePrivy
hook to unlink a given account from a user:
unlinkWallet
to unlink an external walletunlinkEmail
to unlink an emailunlinkGoogle
to unlink a Google accountunlinkDiscord
to unlink a Discord accountunlinkGithub
to unlink a Github accountunlinkTwitter
to unlink a Twitter accountunlinkApple
to unlink an Apple accountunlinkPhone
to unlink a phone number
Unlinking deletes the account from the underlying user
object, meaning the user can no longer sign-in to your app with that account. Note that embedded wallets cannot be unlinked from a user's account.
Each unlink-
method accepts a string to determine which account to unlink. For example, to unlink the email address '[email protected]' from a user, you might call unlinkEmail('[email protected]')
.
Check out the SDK Reference to determine what parameter to pass into your unlink-
call.
Below is an example button for prompting a user to link an email to their account:
import { usePrivy } from '@privy-io/react-auth';
function Page() {
const { user, unlinkEmail } = usePrivy();
// You may replace this hook with any of the other `unlink-` hooks to
// unlink a different account type.
return <button onClick={() => unlinkEmail(user.email.address)}>Unlink your email</button>
}
Every user must have at least one account linked to their profile that is not an embedded wallet. Accordingly, if a user has only one account linked that is not an embedded wallet, it cannot be unlinked from their profile unless they link a second account.