Search.../

register( )

Registers a new site member.

Description

The register() function returns a Promise that resolves to a RegistrationResult object when the member is registered or pending registration.

Note: The member data in the resolved promise will only include custom fields from your site's contacts if they are added to your site Members in your site's dashboard.

The specified password must be between 4 and 100 ASCII characters.

Email verification

You may want to check that a new member is using their own email address, not using someone else's or a fake email address.

You can ask members to verify their email address once they've signed up.

You can configure these setting manually in your site's dashboard, or you can enable email verification through code. This example includes email verification through code.

Automatic vs. Manual Approval

The register() function behaves differently depending on your site's member signup settings. Details are outlined in the following table:

Signup SettingResult
Everyone who signs up
(automatic approval)
  • Member status is "ACTIVE".
  • The member is immediately logged into the site.
Only people who I approve manually
(manual approval)
  • Member status is "PENDING".
  • The member must be approved. You can approve the member by passing the returned approvalToken to approveByToken() or calling approveByEmail() from wix-members-backend. You can also approve the member in your site's dashboard.
  • member is not returned. If you need the member object, use register() from wix-members-backend instead.

When your site's member signup settings are set to automatic approval, calling register() from wix-members-frontend (in page code) is as secure as calling register() from wix-members-backend in backend code, unless you are implementing custom site registration using Velo forms. However, when registration is set to manual approval, calling register() from wix-members-backend allows you to build more secure approval flows by keeping tokens hidden from the frontend.

Notes:

  • The APIs in wix-members-frontend are only partially functional when previewing your site. View a published version of your site to see their complete functionality.

  • When a new member signs up using an email address that's already in your site's Contact List, a notification is displayed and a confirmation email is sent to the new member. To register a member without displaying the notification, use register() from wix-members-backend (this does not suppress the confirmation email).

Syntax

function register(email: string, password: string, [options: RegistrationOptions]): Promise<RegistrationResult>

register Parameters

NAME
TYPE
DESCRIPTION
email
string

Email address the new member will use to log in.

password
string

Password to assign to the new member. Must be 4 to 100 ASCII characters.

options
Optional
RegistrationOptions

Registration options.

Returns

Fulfilled - When the member is registered. Rejected - Error message.

Return Type:

Promise<RegistrationResult>
NAME
TYPE
DESCRIPTION
status
string

Registration status.

One of:

  • "PENDING": The member must be approved before they can log in to the site.
  • "ACTIVE": The member is approved and can log in to the site.
approvalToken
string

Token for approving the member with the approveByToken() function. approvalToken is safe to pass via email or from page code to backend code.

Returned when status is "PENDING".

member
Member

The registered member.

Returned when status is "ACTIVE".

Was this helpful?

Register a site member

This example contains a custom field, "Hobby".

Copy Code
1import { authentication } from 'wix-members-frontend';
2
3// ...
4
5/* Sample options value:
6 * {
7 * contactInfo: {
8 * firstName: 'Juan',
9 * lastName: 'Doe',
10 * picture: 'https://static.parastorage.com/unpkg-semver/communities-blog-statics/assets/wix-logo.png',
11 * hobby: 'Football'
12 * },
13 * privacyStatus: "PRIVATE"
14 * }
15 */
16
17authentication.register(email, password, options)
18 .then((registrationResult) => {
19 const status = registrationResult.status;
20
21 if (status === "PENDING") {
22 // When the site is configured for manual approval,
23 // status is "PENDING" and approvalToken is returned.
24 const approvalToken = registrationResult.approvalToken;
25 console.log('Member registered and waiting for approval:', registrationResult);
26 } else {
27 // When the site is configured for automatic approval,
28 // status is "ACTIVE" and the member is approved and logged in.
29 // To prevent logging in the member automatically,
30 // use the backend function: wix-members-backend.authentication.register()
31 console.log('Member registered and logged in:', registrationResult);
32 }
33 })
34 .catch((error) => {
35 console.error(error);
36 });