Versions Compared

Key

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

Although each realm can have variations in what information we collect., or what authentication process is setup, there is a minimum set of recommendations that should be follow in each realm setup.

On this page

Table of Contents

User registration fields

...

Definitions

Realm (in Keycloak)

A Keycloak realm is an isolated management space that maintains a set of users, credentials, roles, and groups. By default, Keycloak has the master realm, whose sole purpose is to create and manage other realms in the system. Additional realms need to be created for application-based use.

User Registration Fields

The list below is to be setup be Keycloak realm. We recommend a minimum set of fields to be may mandatory. As per the needs of the projects, realms can add extra fields, following the recommendations below/

Field

Mandatory

Type

1

First name

Mandatory

Native to keycloak

2

Surname

Mandatory

Native to keycloak

3

Username

Mandatory

Native to keycloak

4

Email address

Mandatory

Native to keycloak.
Keycloak enforce uniqueness of email

5

Phone number

Recommended as mandatory

+CCC NNNNNNN
PENDING: can it be set as unique?

6

WhatsAppID

Optional

+CCC NNNNNNN

7

Preferred Language

Mandatory

additional field

8

User profiling
(Gender, Age, or Age range, Date of birth)

Optional

additional field

9

Type of worker

Optional

additional field
Drop down values per realm

SHOULD IDEALLY BE BASED ON AN STANDARD CLASSIFICATION

10

Employee ID

Optional

additional field

11

Health Unit

Optional

additional field
Drop down values per realm

12

City/Town

Optional

additional field
Drop down values per realm

13

SubNational L2
(rename for each realm)

Optional

additional field
Drop down values per realm

14

SubNational L1
(rename for each realm)

Optional

additional field
Drop down values per realm

Information not collected:

  • Country: not necessary, as the user will be on a realm that represent that country

Gender

if asking for collection gender, consider a 3rd option for ‘do not with to disclose’

Code

Value text

F

Female

M

Male

X

Do not want to disclose

Username

...

A combination of first name and last name can be used, but must be consistent across the realm accounts. Possible patterns include

  • First Name + “.” + Last Name (rodolfo.melia)

  • Initial First Name + “.” + Last Name (r.melia)

  • Initial First Name + Last Name (rmelia)

...

  • Expected for all users. Keycloak will enforce uniqueness within the Realm.

  • For self-created accounts, users will receive an email that they need to open an visit the suggested URL for email validation.

  • For manually created account or imported accounts, email will can be set to ‘verified’

Email verification
Status
colourGreen
titleimplemented June 2023

If a user self-register, he/she is expected to verify his/her email by following the link sent to his/her inbox.

Phone Verification
Status
titleNOT IMPLEMENTED

If a user list is imported, emails phones can be marked as verified.

If users self-register, they are expected to verify their email phone by following the link send entering the SMS sent to them at the time of account creation.

Self Registration
Status
titleprototyped Aug 2023

  • Username: pre-populate based on the selected combination (see username section)

  • Validation: Will display an error is username is taken (or if possible as a number: rodolfo.

...

  • melia1)

  • email account will need to be validated (see email section)

Authentication Guidelines

In general, we will setup Keycloak mirroring PSI’s authentication guidelines which can be summarised as detailed policies, which are already covered on the guidelines below.

Password

...

Password complexity
Status
colourGreen
title

...

implemented on june 2023

  • 8 characters or more

  • Never expires

  • must include

    • one lower case,

    • one upper case,

      one number and

    • one special character

  • Not user name

  • Not email

  • Cannot reused last 5 password

Password expiration

We For realms with 2FA: we don’t recommend to set an expiry date to the password, as we use 2FAfor password - there is no need to ask users to change their password if 2FA is enforced.

For realms without 2FA: every 60 days

Password recovery

always enabled

Token validity
Status
titleNOT IMPLEMENTED

Session values

- Online - 48 hrs

- Offline - 7 days

...

Status
colourGreen
titleIMPLEMENTED early aug 2023
  • after 3 attempts

  • Wait increments of 1m, up to 15m

  • auto-reset: 12 hrs.

...

If required, an account can be schedule to expire on a given date. This is used for consultants on short term contracts.

2FA
Status
colourGreen
titleimplemented June 2023

  • Enrolment via FreeOTP, Google or Microsoft authenticator

  • valid for 30 days per application/device

    • Example: if a user authenticates Firefox on a given laptop, and then uses Google Chrome on the same device, the user will need to authenticate again.

2FA

...

geo-triggering
Status
titleNOT IMPLEMENTED

  • Geo-limit: if IP is > 500 miles from previous login, request 2FA

...

Token validity
Status
titleNOT IMPLEMENTED

If a user list is imported, phones can be marked as verified.

If users self-register, they are expected to verify their phone by entering the SMS sent to them at the time of account creation.

Self Registration
Status
titleprototyped Aug 2023

...

Username: pre-populate based on the selected combination (see username section)

...

Validation: Will display an error is username is taken (or if possible as a number: rodolfo.melia1)

...

Session values

- Online - 48 hrs

- Offline - 7 days

Account lockout
Status
colourGreen
titleIMPLEMENTED early aug 2023

  • after 3 attempts

  • Wait increments of 1m, up to 15m

  • auto-reset: 12 hrs.

Account Expiration Date
Status
titleNOT IMPLEMENTED

If required, an account can be schedule to expire on a given date. This is used for consultants on short term contracts.