Progressive Registration

Introduction

Progressive Registration is used to incrementally collect user data over time after the initial registration. It helps to provide a smoother registration experience for customers while optimizing the available data.

Instead of creating lengthy registration forms with many required fields, you can use progressive registration to gather information from your user at their convenience. This lets you collect user information incrementally through second login, when a particular page is reached, or when a particular event gets triggered. During progressive registration, information is gathered confidentially when needed.

cidaas allows you to select the required registration page fields on your application.

Different applications can have different registration fields. When an already registered user on Application A tries to login using Application B, then, cidaas asks for the valid registration fields required by Application B.

Implementing Progressive Registration Scenarios

Here are some scenarios where cidaas implements progressive registration:

1. Application A needs only selective information to register (i.e. Email, Password, Confirm Password).

2. Application B needs additional information to register (i.e. Email, User name, Password, Confirm Password, and Date of birth).

3. If user “X” is registered on Application A and logged in.

4. If user “X” tries to login to Application B, cidaas should ask only the extra fields required by Application B, since basic user info has already been registered on Application A.

Example

Pre-requisite

Create Application A and Application B on the cidaas Admin Portal.

1. Application A needs only the email, password, and confirm password fields to register.

2. Application B needs the email, password, confirm password, first name, and last name fields to register.

Solution

We can configure these fields in the Advanced Settings section on cidaas for your application using the following steps.

1. Navigate to the cidaas Admin dashboard -> App Settings -> Edit Application A -> Advance Settings -> Registration Fields. Choose the fields for the registration page of Application A. (i.e, Email, Password, Confirm Password)

2. Navigate to the cidaas Admin dashboard -> App Settings -> Application B -> Advance Settings -> Registration Fields. select the fields for the registration page of Application B. (i.e, Email, Password, Confirm password, Username, Family name).

3. Register user "X" on Application A.

After registering successfully, user "X" can use any of the applications on cidaas to login.

4. If the user tries to login to Application B with the credentials registered with Application A, the following happens:

A screen to enter the username and family name appears since these fields are needed for registration on Application B.

5. After entering all details, click on the Register button to complete registration and proceed to login.

Integrating via API

In this section, we explain the process of progressive registration via API calls.

1. To continue the login process, verify the response of the login API mentioned below.

Login API:
{{baseurl}}/login-srv/login or  {{base_url}}/login-srv/login/sdk
API Method  : POST
Request Body :
    {
    "username":"username from login form",
    "password":"password from login form",
    "requestID" : ****************************
}

If the API returns "417" with the error message "MissingRequiredFields", then you need to go for Missing fields API.

2. Now, call the Missing fields API to proceed with progressive registration and get all the mandatory fields.

Missing  fields API :
{{baseurl}}/token-srv/prelogin/metadata/:track_id
API METHOD : GET
path param : track_id

3. Now, you will know the missing fields. Render and update those registration fields in the UI. After entering the fields, to save them, the user needs to call the following Progressive Registration API.

Progressive Registration API:
curl --location -g --request POST '{baseurl}/login-srv/progressive/update/user' 
--header 'requestID: ' 
--header 'trackID: ' 
--header 'Content-Type: application/json' 
--data-raw '{
"customFields": {
"privacy": {
"dataType": "****",
"internal": false,
"key": "privacy",
"lastUpdateFrom": "SELF",
"readOnly": false,
"value": "**********************"
}
},
"given_name": "**********************",
"family_name": "**********************"
}'

4. If the consent is missing, the user needs to accept the consent using the following API.

Consent Management API: 
 {{baseurl}}/consent-management-srv/v2/consent/usage/accept
 API Method: POST

5. After each registration field update or consent acceptance, the user needs to call the following API:

curl '{{baseurl}}/login-srv/precheck/continue/{{track_id}}' --data 'trackId=aab8b099-ce12-4ecf-bf27-39eeb5c63fbd' --compressed

Handling Requests for Custom & Social Pre-registration

Getting tracking ID after registration

If you get the tracking id after registration when you make a prelogin request, you need to make the following API call.

curl '{{baseurl}}/token-srv/prelogin/metadata/{trackingid}' --data 'trackId=aab8b099-ce12-4ecf-bf27-39eeb5c63fbd' --compressed

Getting the Social Login Registration Details

To get the registration details when you do a prelogin request (after a social login attempt), you need to make the following API call at the trackinfo endpoint.

curl '{{baseurl}}/public-srv/public/trackinfo/{requestid}/{trackid}' --data 'trackId=aab8b099-ce12-4ecf-bf27-39eeb5c63fbd' --compressed

Getting tracking ID before registration

If you get the tracking id before registration when you make a prelogin request (after the login request), you need to make the following API call.

curl '{{baseurl}}/users-srv/register'

If you have any questions on this topic, please contact our support team for further assistance.

We'll be happy to help. Thank you!




results matching ""

    No results matching ""