Identity Management

Overview

Identity management caters for authentication needs arising in the subscription and subscription retention management business.

Its main functions include:

  • Registration - the registration form (with consents approval) for new subscribers (who don't have an account yet)
  • Login - the login form for existing subscribers (who already have an account)
  • Forgot Password - the ability to reset a password
  • Cleeng Capture - an amazing tool that will help you understand your viewers through building customer profiles.

Registration

A customer who doesn't have an account yet needs to be registered.

The registration process involves the following steps:

1. Provide Metadata

To register customers you need to specify:

  • the customer country (to calculate tax),
  • currency,
  • locale (which defines language and text formatting).

To get this data, you can request from the frontend to /locales. This data is defined based on the IP address of the request.

2. Fetch Publisher's Consents

There are two types of consents:

  • terms & conditions (both Cleeng's and the publisher's ones)
  • marketing options (if applicable)

You can manage consents in Admin&Tools -> Capture and fetch them by /publishers/:publisherId/consents.

3. Display Registration Form with Consents

The registration form should include at least email and password fields and checkboxes for terms & conditions and marketing options.

You shouldn't register the customer if she/he hasn't accepted the terms and conditions.

4. Register Customer

If the registration form has been completed correctly, the customer can be registered.
To register the customer use: /customers

After successful registration, the server generates JWT and a refresh token.
JWT is used for authorisation to all endpoints.
Thanks to a refresh token, an expired JWT can be replaced with a new JWT.

For more information on a refresh token please refer to the Refresh token section.

Cleeng saves a customer's registration date in the background. You can review this date in Customer Accounts page or by fetching customer's data. If a customer has not logged in yet, this date will be also used as the 'last login date'.

5. Update Customer's Consents

After successful registration, submit the selected consents by request to /customers/:customerId/consents.

622

Registration flowchart

5. Testing

Registered customers are shown in the 'Customer Accounts' dashboard.

Go to 'Customer Accounts' page on sandbox or production.

With the registration flow ready, let's move on to the Login section.

Login

Customers can be logged in using offerId or publisherId:

  • offerId - use login with offerId if the customer has already chosen an offer
  • publisherId - use publisherId if you want to enable choosing an offer after login.

Call /auths method to log in the customer.

In response, you will get JWT (authorization token), a refresh token and customerToken (you may need customerToken to use other Cleeng APIs).

After logging, you should check consents to make sure that the customer has accepted the latest version. To do so use Fetch customer's consents.

Cleeng saves a customer's last login date in the background. You can review this date in Customer Accounts page or by fetching customer's data. It will be set up after registration and updated after each login.

414

Login flowchart

📘

Single Sign-on

Broadcasters who use MediaStore SDK-based solution (Checkout, My Account) with an external identity management system as the primary identity provider can use the Single Sign-on (SSO) feature.

Now that you've enabled customers to log in, let's provide for the situation when they forget their password.

Forgot Password

If the viewer doesn’t remember the password, he/she can reset it.

Data required for password reset:

  • customer email and
  • offerId or publisherId (to identify the customer with the publisher).

This feature can also be used to reset the password in My Account -> User Profile Management.

Default Reset Password Page

If you use a default reset password page, the password reset process is as follows:

  1. Make a request to /customers/passwords.
  2. An email with a reset password link will be sent to the given email.
  3. By following the link, the viewer will be able to reset to a new password.

Please note that by default, the link will redirect the customer to the default reset password page.

562

Default reset password form

352

Reset password flowchart

Custom Reset Password Page

If you use a custom password page, the password reset process is as follows:

  1. Make a request to /customers/passwords with resetUrl param.
  2. An email with a reset password link will be sent to the given email.
  3. By following the link, the viewer will be redirected to a given resetUrl where he/she should be able to provide a new password (resetPasswordToken will be added to resetUrl as a query param).
  4. Update customer password by using /customers/passwords endpoint.

Great, you now have the basic features ready: your customers will be able to register to your service, log in and reset their password if they forget it.

Now you can go on and explore an extremely useful feature of Cleeng Capture.

Cleeng Capture

Cleeng Capture will help you to understand your viewers by building customer profiles. Integrate with Cleeng Capture to collect more data about customers and maintain the process easily.

898

Example capture form

📘

Note

The capture form should be displayed:

  • After registration as an additional step
  • After login, if there is any setting that is enabled, required, and hasn't been answered by the customer
  • In My Account, to enable answers update

Activate Cleeng Capture

You can simply get the Cleeng Capture to be working in 3 steps:

  • Step 1: Go to dashboard, Click through Admin & Tools, and choose Capture to enable Cleeng Capture (Terms & Conditions and marketing options are part of "Consents", not "Capture". You can fetch them with this endpoint.

  • Step 2: Simply select which data you would like to ask for, which should be required, and so on.

  • Step 3: Use endpoints to fetch Capture status and to save customer answers.
    Pay attention to the field 'shouldCaptureBeDisplayed' as it will help you to decide if you should show the Capture form - it checks if there is any field that is enabled, required, and hasn't been answered by the selected customer. It's worth basing on this field, not to miss any customer who registered before Cleeng Capture has been enabled or before changes to settings have been implemented. Moreover, remember that you can save answers only for the fields that are enabled.

Capture is designed to be used after authorization to collect data and in My Account to update them. Capture has to be used after registration, as endpoint requires authorization.

1538

Capture settings in Cleeng Dashboard

Up Next

Now that your customers can easily register and log in to your service, make sure the offers you want to sell are displayed properly. Let's continue with Offer Display.