Self-service Registration

Overview

Self-service basic registration forms let you quickly and simply add signup functionality to your application.

What Are Basic Registration Forms

Basic registration forms let you get user registration up and running quickly and simply with no coding required.

Example of built out basic registration form.

You might be interested in this feature if you have a straightforward registration process, where all you need are a few pieces of common user information to register a new user. Basic registration forms are a single step.

This is also called self-service registration, because visitors can create an account on their own, with no action required from you.

If you are building your own login and registration pages using the APIs, you can still use the basic registration setup in the administrative user interface, but you will have to generate the user facing HTML from the configured form data and recreate any front end logic. You may want to consider using the themeable hosted login pages instead.

Here’s a video showing setup and use of the advanced registration forms feature.

How Do I Use Basic Registration Forms?

To use basic registration forms, you must:

  • Create an application.
  • Enable and configure registration on the application.

Building a Basic Form Registration Flow

Let’s create a basic registration form for an application that requires:

  • Email
  • Password
  • First name
  • Optional last name

These fields are already available in the set of basic registration fields in every FusionAuth installation, and only need to have their “Enabled” and “Required” switches toggled.

We’ll go through the entire process, from creating a new application in FusionAuth, to registering a new user.

Create a new FusionAuth Application

In order to register a user, you must have first installed FusionAuth and created an Application.

A guide to getting started with installing FusionAuth is provided in the Getting Started Guide.

A tutorial for creating an Application is provided in the Applications Overview. Once the Application has been created, you can set up the basic registration options.

Configuring Basic Registration

To set up Basic Registration, navigate to the Applications tab, and select the “Edit” icon to open the edit page.

Then navigate to the Registration tab. Scroll down to the “Self Service Registration” section. Toggle the “Enabled” switch on.

The “Type” radio button should have “Basic” selected. Leave it on this setting.

You can toggle on the “Confirm Password” switch to ask the user to enter their password twice when creating an account to ensure it is captured correctly.

Leave the “Login type” radio button set on “Email”.

Then set the “Registration Fields” as follows:

  • First name: “Enabled” and “Required” on.
  • Last name: “Enabled” on and “Required” off.

Set all the other fields to “Enabled” off.

The settings should now look like this:

Basic Registration Settings

Register a User

Now that the application has been configured, you can register a user. Navigate to the Applications list page. Click on the green button with the magnifying glass icon next to your application to open the details popup.

Scroll down to the “Registration URL” item, and copy the URL.

Register url

Open the URL in a new tab, and follow the instructions to register a user.

Register a new user

The page specified by the “redirect_uri” in the “Registration URL” is the page that your users will be redirected to when they click the “Register” button. This can be configured on the OAuth tab of the application. You can have more than one.

After registering, you should receive an email with a verification link. Click the link to verify the user.

View the User

After you have registered a user, you can view the user in the FusionAuth user management interface. Navigate to the Users page by clicking the “Users” link in the sidebar.

You should see the newly registered user in the list.

New user listing

Advanced Registration Forms

Basic self-service registration can meet many requirements. Advanced self-service registration forms are a paid feature that allows a bit more flexibility including the ability to collect custom user data at registration and more.

FusionAuth Reactor logo

This feature is only available in paid plans. Please visit our pricing page to learn more.

With advanced registration forms, in addition to allowing a user to register for an application, you can also:

  • Collect additional profile data and store it in FusionAuth.
  • Validate any field on the server in a variety of ways, including matching a regular expression.
  • Use more complicated fields, such as consent and confirmation fields.
  • Break a registration process into a series of less imposing steps.

A guide to setting up advanced registration forms is provided at Advanced Registration Forms.

Self-Service Registration and Registrations

When you enable self-service registration for an application and a user who does not have a registration for that application successfully logs in to that application, the user will automatically be registered for that application, and have a registration added.

Let’s walk through a scenario. Suppose you have three applications:

  • Hooli Jobs
  • Pied Piper Video Chat, which has self-service registration enabled
  • Pied Piper Email Service, which does not have self-service registration enabled

User richard@piedpiper.com has a valid account, and has a registration for the Hooli Jobs.

When Richard tries to log into Pied Piper Video Chat, he is able to log in. He is automatically registered for this application, since self service registration is turned on for it. Therefore the applicationId claim is present in the token and any default roles are associated with his account.

When Richard tries to log into Pied Piper Email Service, he is able to log in, since he has a valid account in the tenant. But Richard is not registered for the application. Therefore no roles are associated with him and the applicationId claim is not present.

You can read more about authentication vs authorization and registrations.