04 Configuration Steps and requirements

Introduction

URAC micro-service V3 configuration variables that are needed and can be customized 

1. Password generation configuration

Location

create a custom registry - urac

You can change the values of the below variables to customize iterations, seeding, and the algorithm used to hash passwords.

NameTypeDescription

Example

hashIterationsintegerHashing iteration value used by SOAJS hasher to encrypt/compare passwords12

optionalAlgorithm

string

Password Hashing algorithm name. "aes256" or "des".

You can go to List of Crypto Algorithms to find the name of the algorithm that you can use.

You do not need to set this configuration if you do not want to specify an algorithm

 aes256

More information can be found in the Complete Example

2. Join & Membership

Location

Add to provision - key configuration

Create custom registry - urac

You can change the values of the below variables to customize if you want the user to validate their email once they join or not.

NameTypeDescriptionExample
validateJoinBooleanThis configuration controllers the status of a user after joining. aka ('pendingJoin' : 'active')
 
true
membershipObjectThis configuration allows you to configure different type of membership that can be set while joining to drive different user configuration like groups (make sure the groups is available). Should be an array of groups. 
{
	"basic":{
		"groups": ["starter"]
	}
}

3. Mail Configuration

Location

Add to provision - key configuration

Create custom registry  - mail & urac

Mail configuration can be found under two configuration objects:

  1. SMTP Configuration: Under common fields in order to be used in other microservices not only in URAC. This includes the transport configuration for the mail provider.
  2. Email Content Configuration: Under URAC configuration in order to customize mail options to handle URAC requirements. This includes links and content of emails sent in each stage.

More information about Variables used, custom data fields used in "content", and examples of the configuration can be found under Mail Configuration

Examples: In provision

In provision
"commonFields" : {
  "mail": { // to control the smtp configuration
      "from": 'me@localhost.com',
      "transport": {...}
  },
  "sms":{
	  "from": '16170000000',
      "twilio": {
         "accountSid": "WWWW",
         "authToken": "WWWW"
	  }
  }
},
"urac" : {
  "link": {...}, // this object to control the links in the emails
  "mail": { // this object to control the content of the emails
    "join": {...}, // Join - mail content configuration
    "forgotPassword": {...}, // Forgot password mail - content configuration
    "addUser": {...}, // Add User - mail content configuration
    "changeUserStatus": {...}, // Change User Status - mail content configuration
    "changeEmail": {...} // Change Email - mail content configuration
  },
  "sms": {
	"inviteToJoin": {...}
  }	
}

Examples: In custom registry

You should create to entries under custom registry (one for mail, one for urac, and one for sms) as follow:

with the following configuration content:

mail
{ // to control the smtp configuration
      "from": 'me@localhost.com',
      "transport": {...}
}
URAC
{
  "link": { // this object to control the links in the emails
		"addUser": "...",
		"changeEmail": "...",
		"forgotPassword": "...",
		"inviteToJoin": "...",
		"join": "..."
	},
  "mail": { // this object to control the content of the emails
    "addUser": {...}, 
    "changeEmail": {...}, 
    "changePin": {...}, 
    "changeUserStatus": {...}, 
    "forgotPassword": {...}, 
    "invitePin": {...}, 
    "join": {...},
    "resetPin": {...}
	"inviteToJoin": {...}
  },
  "sms": {
	"inviteToJoin": {...}
  }		
}


sms
{ // to control the smtp configuration
      "from": '16170000000',
      "twilio": {...}
}

4. Mail token configuration

Location

Add to provision - key configuration

Create custom registry - urac

The URAC sends verification mail with links containing token with expiration date.

NameTypeDescriptionExample

tokenExpiryTTL

millisecondsThis configuration controllers the expiration period for the email links token.
 

172800000

5. Pin login configuration

Location

In provision - key configuration

In custom registry 

Pin code adds a second layer of authentication to URAC. For example, in the hospitality business you want the manager to login and turn on pin login. This way a user can key in a ping and get access. For more information go to Pin login Configuration.

6. Data configuration

You should add a database configuration to the environment where you deployed URAC. for more information go to Data Configuration.

7. Roaming among main tenants

Location

Create custom registry - urac

You can change the values of the below variable to turn on roaming among main tenants. Either you set masterCode or your set dbCodes.


NameTypeDescription

Example

masterCodeString

consolidate all main tenants' user under one master db and create roaming capabilities among them by invitation only. 

Also this will consolidate all tenants groups under one master db.

"TTTT"
autoRoamingObjectTo automatically allow roaming among main tenants
{
	"0000_TENANTID_TO_000": {
		"0000_TENANTID_FROM_000": {
			"groups": ["optional", "..."]
		}
	}
}
dbCodesObject

To consolidate designated main tenants' users and create roaming capabilities among them by invitation only. 

for example we have tenant TTT turning on roaming with tCODE1 and tCODE2

{
	"TTTT": ["tCODE1", "tCODE2"]
	"XXXX": ["tCODE4", "tCODE5"]
}