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.
Name | Type | Description | Example |
---|---|---|---|
hashIterations | integer | Hashing iteration value used by SOAJS hasher to encrypt/compare passwords | 12 |
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.
Name | Type | Description | Example |
---|---|---|---|
validateJoin | Boolean | This configuration controllers the status of a user after joining. aka ('pendingJoin' : 'active') | true |
membership | Object | This 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:
- 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.
- 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
"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:
{ // to control the smtp configuration "from": 'me@localhost.com', "transport": {...} }
{ "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": {...} } }
{ // 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.
Name | Type | Description | Example |
---|---|---|---|
tokenExpiryTTL | milliseconds | This 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.
Name | Type | Description | Example |
---|---|---|---|
masterCode | String | 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" |
autoRoaming | Object | To automatically allow roaming among main tenants | { "0000_TENANTID_TO_000": { "0000_TENANTID_FROM_000": { "groups": ["optional", "..."] } } } |
dbCodes | Object | 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"] } |