Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

Provisioning is a configuration that all SOAJS micro-services can acquire once you turn on multi-tenant for them.

...

If you have 2 tenants that can access the URAC, then the provisioned configuration for each tenant will be loaded once that tenant invokes an API from of URAC micro-service.

The below configuration is supported by the URAC micro-service and can be configured & changed at the tenant level under the Manage Pillar.
 

Configuration Details

...

Field NameTypeMandatoryDescription

hashIterations

Number

Hashing Iteration value used by SOAJS hasher to encrypt/compare passwords

seedLength

Number

Seed Length value used by SOAJS hasher to encrypt/compare passwords

linkObject
Link values that are attached in the content of email notifications

tokenExpiryTTL

Number

token expiry limit in seconds

validateJoin

Boolean

Set to true if registration needs validation confirmation

mailObject

Object to configure the mail notifications content.

Each type of notification is an entry in this object where you can configure a custom mail subject, link it to a template or inject html content directly.

passportLogin

Object
Define application keys for passport integration. Currently supporting: Twitter - Facebook - Google


Configuration Sample

...

The below configuration shows 2 objects inside the tenant configuration: URAC - Mail.

...

Code Block
languagejs
titleURAC Tenant Configuration Sample
linenumberstrue
{
   "commonFields": {
   		"mail": {
      		"from": 'me@localhost.com',
      		"transport": {
         		"type": "sendmail",
         		"options": {}
      		}
		}
   },

   "urac": {
      "passportLogin": {
         "twitter": {
            "clientID": "qywH8YMduIsKA2RRlUkS50kCZ",
            "clientSecret": "aodnXVCBijQcS8sJrcLM3ULgCl9VEoqqwu00XgamRUv5qm8bF1",
            "callbackURL": "http://local-widget.com/urac/login/success",
            userProfileURL: "https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true"
         },
         "facebook": {
            clientID: '331502413866510',
            clientSecret: '1a07a7eb9c9884dc5d148106ede830b2',
            callbackURL: "http://local-widget.com/urac/login/success?mode=facebook"
         },
         "google": {
            clientID: '393278808961-7qahk8kadr2jhbo05o84pbp5tc774a1l.apps.googleusercontent.com',
            clientSecret: 'sdSpS8FLeUvc0UBs_z8m4f89',
            callbackURL: "http://local-widget.com/urac/login/success"
         }
      },
      "hashIterations": 1024, //used by hasher
      "seedLength": 32, //used by hasher
     
      "link": {
         "addUser": "http://dashboard.soajs.org/#/setNewPassword",
         "changeEmail": "http://dashboard.soajs.org/#/changeEmail/validate",
         "forgotPassword": "http://dashboard.soajs.org/#/resetPassword",
         "join": "http://dashboard.soajs.org/#/join/validate"
      },
      "tokenExpiryTTL": 2 * 24 * 3600 * 1000,
      "validateJoin": true, //true if registration needs validation
      "mail": { //urac mail options
         "join": {
            "subject": 'Welcome to SOAJS',
            "path": "./mail/urac/join.tmpl"
         },
         "forgotPassword": {
            "subject": 'Reset Your Password at SOAJS',
            "path": "./mail/urac/forgotPassword.tmpl"
         },
         "addUser": {
            "subject": 'Account Created at SOAJS',
            "path": "./mail/urac/addUser.tmpl"
         },
         "changeUserStatus": {
            "subject": "Account Status changed at SOAJS",
            //use custom HTML
            "content": "<p>Dear <b>{{ username }}</b>, <br />Your account status has changed to <b>{{ status }}</b> by the administrator on {{ ts|date('F jS, Y') }}.<br /><br /> Regards,<br/> SOAJS Team. </p>"
         },
         "changeEmail": {
            "subject": "Change Account Email at SOAJS",
            "path": "./mail/urac/changeEmail.tmpl"
         }
      }
   }
}

...