Anonymous
The Anonymous plugin allows users to have an authenticated experience without requiring them to provide an email address, password, OAuth provider, or any other Personally Identifiable Information (PII). Users can later link an authentication method to their account when ready.
Installation
Add the plugin to your auth config
To enable anonymous authentication, add the anonymous plugin to your authentication configuration.
Migrate the database
Run the migration or generate the schema to add the necessary fields and tables to the database.
See the Schema section to add the fields manually.
Add the client plugin
Next, include the anonymous client plugin in your authentication client instance.
Usage
Sign In
To sign in a user anonymously, use the signIn.anonymous()
method.
Link Account
If a user is already signed in anonymously and tries to signIn
or signUp
with another method, their anonymous activities can linked to the new account.
To do that you first need to provide onLinkAccount
callback to the plugin.
Then when you call signIn
or signUp
with another method, the onLinkAccount
callback will be called. And the anonymousUser
will be deleted by default.
Options
emailDomainName
: The domain name to use when generating an email address for anonymous users. Defaults to the domain name of the current site.
-
onLinkAccount
: A callback function that is called when an anonymous user links their account to a new authentication method. The callback receives an object with theanonymousUser
and thenewUser
. -
disableDeleteAnonymousUser
: By default, the anonymous user is deleted when the account is linked to a new authentication method. Set this option totrue
to disable this behavior.
Schema
The anonymous plugin requires an additional field in the user table:
Field Name | Type | Key | Description |
---|---|---|---|
isAnonymous | boolean | Indicates whether the user is anonymous. |