Open Registration

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsOpen Registration
(Example - Open Registration and Login when email confirmation is turned off)
 
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
### Tutorial
+
DreamFactory supports open user registration, which allows users to self-register from your application via the API. By default it is disabled.
  
DreamFactory 2.0 supports open registration. By default it is disabled. To enable it, log into the admin console,  
+
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  
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'  
off 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.  
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 then select an email service in the 'Open Reg Email Service' field. Choose an email template for your  
+
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,  
+
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.
your users will be forced to choose their password during registration.
+
  
 
[[File:Tutorial open registration1.png|800px]]
 
[[File:Tutorial open registration1.png|800px]]
  
### API Endpoint
+
=== API Endpoint ===
  
 
<pre>POST https://{url}/api/v2/user/register?login={bool}</pre>
 
<pre>POST https://{url}/api/v2/user/register?login={bool}</pre>
Line 20: Line 19:
 
   "password": "password",      //Required only when no Open Registration Email Service is selected.
 
   "password": "password",      //Required only when no Open Registration Email Service is selected.
 
   "first_name": "first_name",
 
   "first_name": "first_name",
   "last_name": "last_name"     //Required field.
+
   "last_name": "last_name"
 
}
 
}
 
</source>
 
</source>
  
  
### Example - Open Registration when email confirmation is required.
+
=== Example - Open Registration with email confirmation required ===
  
 
* Request body:
 
* Request body:
Line 44: Line 43:
 
</source>
 
</source>
  
### Example - Open Registration and Login when email confirmation is required.
+
=== Example - Open Registration and Login with email confirmation required ===
  
 
* Login: true
 
* Login: true
Line 65: Line 64:
 
</source>
 
</source>
  
> _Note: Forcing login during open registration will not work when email confirmation is required. Therefore, response
 
> includes "confirmation_required":true._
 
  
### Example - Open Registration when email confirmation is turned off.
+
    ''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:
 
* Request body:
Line 88: Line 88:
 
</source>
 
</source>
  
### Example - Open Registration and Login when email confirmation is turned off.
+
=== Example - Open Registration and Login with email confirmation turned off ===
  
 
* Login: true
 
* Login: true

Latest revision as of 16:47, 15 July 2016

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.

Tutorial open registration1.png

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": "jdoe@example.com",
  "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": "jdoe@example.com",
  "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": "jdoe@example.com",
  "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": "jdoe@example.com",
  "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"
}