Open Registration
DreamFactory supports open user registration, which allows users to self-register from your application via the API. By default it is disabled.
To enable it, log into the admin console, click on the Services tab and select the user service. On the user service details page, click on the Config tab. Check the 'Allow Open Registration' checkbox there. On this Config page you can also select a role in the 'Open Reg Role' field. This role will be used for all your self-registered users.
If you would like to require your users to be verified using email confirmation, select an email service in the 'Open Reg Email Service' field. Choose an email template for your confirmation email in the 'Open Reg Email Template' field. If you do not choose an email service for Open Registration, your users will be forced to choose their password during registration.
Contents
API Endpoint
POST https://{url}/api/v2/user/register?login={bool}
Request body:
{ "email": "user_email", //Required field. "password": "password", //Required only when no Open Registration Email Service is selected. "first_name": "first_name", "last_name": "last_name" }
Example - Open Registration with email confirmation required
- Request body:
{ "email": "[email protected]", "first_name": "John", "last_name": "Doe" }
- Request URL:
POST https://foo.com/api/v2/user/register
- Response
{ "success":true }
Example - Open Registration and Login with email confirmation required
- Login: true
- Request body:
{ "email": "[email protected]", "first_name": "John", "last_name": "Doe" }
- Request URL:
POST https://foo.com/api/v2/user/register?login=true
- Response
{ "success":true, "confirmation_required": true }
Note: Forcing login during open registration will not work when email confirmation is required. Therefore, response includes "confirmation_required":true.
Example - Open Registration with email confirmation turned off
- Request body:
{ "email": "[email protected]", "password":"secret", "first_name": "John", "last_name": "Doe" }
- Request URL:
POST https://foo.com/api/v2/user/register
- Response
{ "success":true }
Example - Open Registration and Login with email confirmation turned off
- Login: true
- Request body:
{ "email": "[email protected]", "password":"secret", "first_name": "John", "last_name": "Doe" }
- Request URL:
POST https://foo.com/api/v2/user/register?login=true
- Response
{ "success": true, "session_token": "abc.123.efg" }