Creating users

From DreamFactory
Jump to: navigation, search
DreamFactoryTutorialsCreating users
Line 3: Line 3:
 
There are two types of users in a DreamFactory 2.0 instance - Admins and Users (non-admins). Admins are part of system and  
 
There are two types of users in a DreamFactory 2.0 instance - Admins and Users (non-admins). Admins are part of system and  
 
uses the API api/v2/system/admin. Users are part of the df-user (https://github.com/dreamfactorysoftware/df-user) package  
 
uses the API api/v2/system/admin. Users are part of the df-user (https://github.com/dreamfactorysoftware/df-user) package  
and uses the API api/v2/user. This tutorial will go over creating both Admins and Users using admin console as well as the  
+
and uses the API api/v2/system/user. This tutorial will go over creating both Admins and Users using admin console as well as the  
 
API endpoints.  
 
API endpoints.  
  
Line 13: Line 13:
 
#### API Endpoint
 
#### API Endpoint
  
<pre>POST https://your-url/api/v2/system/admin?session_token=<jwt_for_an_admin_session></pre>
+
<pre>POST https://{url}/api/v2/system/admin?session_token={jwt_for_an_admin_session}</pre>
 +
Request body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
 
   "resource": [
 
   "resource": [
 
     {
 
     {
       "name": "display_name",
+
       "name": "display_name",           //Required field
 
       "first_name": "user_first_name",
 
       "first_name": "user_first_name",
 
       "last_name": "user_last_name",
 
       "last_name": "user_last_name",
       "email": "email_address",
+
       "email": "email_address",         //Required field
 
       "password": "password"
 
       "password": "password"
 
     }
 
     }
Line 28: Line 29:
 
</source>
 
</source>
  
Note: Session token can also be supplied using X-DreamFactory-Session-Token request header.
+
> _Note: Session token can also be supplied using X-DreamFactory-Session-Token request header._
  
 
#### Example - Creating an Admin
 
#### Example - Creating an Admin
  
<pre>POST https://your-url/api/v2/system/admin?session_token=abc.123.efg</pre>
+
* Session Token: abc.123.efg
 +
* Request body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
Line 46: Line 48:
 
}
 
}
 
</source>
 
</source>
 +
* Request URL:
 +
<pre>POST https://foo.com/api/v2/system/admin?session_token=abc.123.efg</pre>
  
  
Line 54: Line 58:
 
the 'Send Email Invitation' checkbox before creating the user. If you send out email invitation then there is no need to  
 
the 'Send Email Invitation' checkbox before creating the user. If you send out email invitation then there is no need to  
 
manually set the password as the user will create his/her own password using the invitation email. You need to be an admin  
 
manually set the password as the user will create his/her own password using the invitation email. You need to be an admin  
or a user with role-service access to 'POST api/v2/user' API to create another user.
+
or a user with role-service access to 'POST api/v2/system/user' API to create another user.
  
 
#### API Endpoints  
 
#### API Endpoints  
Line 60: Line 64:
 
With email invitation:
 
With email invitation:
  
<pre>POST https://your-url/api/v2/system/admin?send_invite=true&session_token=<jwt_for_an_user_session_with_proper_role></pre>
+
<pre>POST https://{url}/api/v2/system/user?send_invite=true&session_token={jwt_for_an_user_session_with_proper_role}</pre>
 +
Request body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
 
   "resource": [
 
   "resource": [
 
     {
 
     {
       "name": "display_name",
+
       "name": "display_name",           //Required field
 
       "first_name": "user_first_name",
 
       "first_name": "user_first_name",
 
       "last_name": "user_last_name",
 
       "last_name": "user_last_name",
       "email": "email_address"
+
       "email": "email_address"         //Required field
 
     }
 
     }
 
   ]
 
   ]
Line 76: Line 81:
 
Without email invitation:
 
Without email invitation:
  
<pre>POST https://your-url/api/v2/system/admin?session_token=<jwt_for_an_user_session_with_proper_role></pre>
+
<pre>POST https://{url}/api/v2/system/user?session_token={jwt_for_an_user_session_with_proper_role}</pre>
 +
Request body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
 
   "resource": [
 
   "resource": [
 
     {
 
     {
       "name": "display_name",
+
       "name": "display_name",           //Required field
 
       "first_name": "user_first_name",
 
       "first_name": "user_first_name",
 
       "last_name": "user_last_name",
 
       "last_name": "user_last_name",
       "email": "email_address",
+
       "email": "email_address",         //Required field
 
       "password": "password"
 
       "password": "password"
 
     }
 
     }
Line 92: Line 98:
  
  
Note: Session token can also be supplied using X-DreamFactory-Session-Token request header.
+
> _Note: Session token can also be supplied using X-DreamFactory-Session-Token request header._
  
 
#### Example - Creating an User  
 
#### Example - Creating an User  
Line 98: Line 104:
 
With email invitation:
 
With email invitation:
  
<pre>POST https://your-url/api/v2/system/admin?send_invite=true&session_token=<abc.123.efg></pre>
+
* Session Token: abc.123.efg
 +
* Send Invite: true
 +
* Request Body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
Line 111: Line 119:
 
}
 
}
 
</source>
 
</source>
 +
* Request URL:
 +
<pre>POST https://foo.com/api/v2/system/user?send_invite=true&session_token=abc.123.efg</pre>
 +
  
 
Without email invitation:
 
Without email invitation:
  
<pre>POST https://your-url/api/v2/system/admin?session_token=<abc.123.efg></pre>
+
* Session Token: abc.123.efg
 +
* Request Body:
 
<source lang="JavaScript">
 
<source lang="JavaScript">
 
{
 
{
Line 128: Line 140:
 
}
 
}
 
</source>
 
</source>
 +
* Request URL:
 +
<pre>POST https://foo.com/api/v2/system/user?session_token=abc.123.efg</pre>

Revision as of 21:51, 13 October 2015

      1. Tutorial

There are two types of users in a DreamFactory 2.0 instance - Admins and Users (non-admins). Admins are part of system and uses the API api/v2/system/admin. Users are part of the df-user (https://github.com/dreamfactorysoftware/df-user) package and uses the API api/v2/system/user. This tutorial will go over creating both Admins and Users using admin console as well as the API endpoints.

      1. Creating Admins

Log into the admin console and click on the 'Admins' tab. From there click on the 'Create' button from the left menu. Fill out the new admin form and click on the 'Create' form button. You must be an admin to create another admin account.

        1. API Endpoint
POST https://{url}/api/v2/system/admin?session_token={jwt_for_an_admin_session}

Request body:

{
  "resource": [
    {
      "name": "display_name",           //Required field
      "first_name": "user_first_name",
      "last_name": "user_last_name",
      "email": "email_address",         //Required field
      "password": "password"
    }
  ]
}

> _Note: Session token can also be supplied using X-DreamFactory-Session-Token request header._

        1. Example - Creating an Admin
  • Session Token: abc.123.efg
  • Request body:
{
  "resource": [
    {
      "name": "John",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "password": "secret"
    }
  ]
}
  • Request URL:
POST https://foo.com/api/v2/system/admin?session_token=abc.123.efg


      1. Creating Users

Log into the admin console and click on the 'Users' tab. From there click on the 'Create' button from the left menu. Fill out the new user form and click on the 'Create' form button. You can send out an email invitation to the new user by checking off the 'Send Email Invitation' checkbox before creating the user. If you send out email invitation then there is no need to manually set the password as the user will create his/her own password using the invitation email. You need to be an admin or a user with role-service access to 'POST api/v2/system/user' API to create another user.

        1. API Endpoints

With email invitation:

POST https://{url}/api/v2/system/user?send_invite=true&session_token={jwt_for_an_user_session_with_proper_role}

Request body:

{
  "resource": [
    {
      "name": "display_name",           //Required field
      "first_name": "user_first_name",
      "last_name": "user_last_name",
      "email": "email_address"          //Required field
    }
  ]
}

Without email invitation:

POST https://{url}/api/v2/system/user?session_token={jwt_for_an_user_session_with_proper_role}

Request body:

{
  "resource": [
    {
      "name": "display_name",           //Required field
      "first_name": "user_first_name",
      "last_name": "user_last_name",
      "email": "email_address",         //Required field
      "password": "password"
    }
  ]
}


> _Note: Session token can also be supplied using X-DreamFactory-Session-Token request header._

        1. Example - Creating an User

With email invitation:

  • Session Token: abc.123.efg
  • Send Invite: true
  • Request Body:
{
  "resource": [
    {
      "name": "John",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]"
    }
  ]
}
  • Request URL:
POST https://foo.com/api/v2/system/user?send_invite=true&session_token=abc.123.efg


Without email invitation:

  • Session Token: abc.123.efg
  • Request Body:
{
  "resource": [
    {
      "name": "John",
      "first_name": "John",
      "last_name": "Doe",
      "email": "[email protected]",
      "password": "secret"
    }
  ]
}
  • Request URL:
POST https://foo.com/api/v2/system/user?session_token=abc.123.efg