Config

WebService

host

  • Type: String
  • Default: 127.0.0.1

port

  • Type: String|Integer
  • Default: 8080

Log

logging

Auth-microservice uses winston to logging.

  • Type: String
  • Default: info
  • Acceptable values:
    • error
    • warn
    • info
    • varbose
    • debug
    • silly

E.g. if logging is set to info, script will logging info and all above log levels from Acceptable values.

Administration

internalApiKey

Internal api key used to authorization in requests to private enpoints.

  • Type: String
  • Default: foobar

Database

databaseHost

  • Type: String
  • Default: 127.0.0.1

databasePort

  • Type: String|Integer
  • Default: 27017

databaseName

  • Type: String
  • Default: auth-microservice

databaseUser

  • Type: String|null
  • Default: null

databasePassword

  • Type: String|null
  • Default: null

Passwords

passwordHash

Password hash algorithm. Currently auth-microservice have build-in two algorithms: argon2 and bcrypt.

  • Type: String
  • Default: argon2

passwordMinLength

Minimum password length.

  • Type: Integer
  • Default: 6

passwordMaxLength

Maximum password length.

  • Type: Integer
  • Default: 128

passwordConfirmation

Set to false if you don't use password confirmation in registration form.

  • Type: Boolean
  • Default: true

bcryptSaltRounds

BCrypt salt rounds. More details HERE

Usernames

supportUsernames

Set to false if you need only e-mails.

  • Type: Boolean
  • Default: true

userNameCharacters

Allowed characters in username.

  • Type: String
  • Default: A-Za-z0-9-_

userNameMinLength

Minimum username length.

  • Type: Integer
  • Default: 4

userNameMaxLength

Maximum username length.

  • Type: Integer
  • Default: 16

enableLookupByUsername

Enables lookuping user by name in endpoint GET /lookup.

  • Type: Boolean
  • Default: true

E-mails

normalizeEmails

Set to true if you want to remove dots and aliases (e.g. +foobar) from e-mails. More details: normalize-email

  • Type: Boolean
  • Default: false

enableLookupByEmail

Enables lookuping user by e-mail in endpoint GET /lookup.

  • Type: Boolean
  • Default: false

Tokens

supportTokens

  • Type: Array of Strings
  • Default: ['jsonwebtoken']

defaultToken

  • Type: String
  • Default: jsonwebtoken

User

additionalFields

  • Type: Object
  • Default: {}
  • Example:
{
  birthday: {
    type: Date, // according to https://mongoosejs.com/docs/schematypes.html
    validation: 'required|date', // according to https://www.npmjs.com/package/validatorjs#available-rules
    hidden: false, // set to false if you need display this field in lookup
  },
}

Confirmations

enableConfirmations

Set to false if you don't need confirmations system.

  • Type: Boolean
  • Default: true

confirmationExpireTime

Confirmation's token expire time by type.

  • Type: Object
  • Unit: Seconds
  • Default:
{
  "default": 3600,
  "registration": 3600,
}

confirmationSecretKey

Secret key of confirmation, using to generating tokens.

  • Type: String
  • Default: foobar

confirmationRefreshDelay

Delay before next confirmation refresh.

  • Type: Integer
  • Unit: Seconds
  • Default: 300 (5 minutes)

requiredRegistrationConfirmationToLogin

Enable to require confirmation of registration.

  • Type: Boolean
  • Default: false

removeNotConfirmedUsersIn

Period after which users without confirmed registration will be removed.

  • Type: Integer
  • Unit: Seconds
  • Default: 864000 (10 days)