Registration Components

Janrain Registration is composed of four main components:

  • Registration User Interface
  • API Client Settings
  • Flow Configurations
  • Database Schema

Read the following content for more information on each of these components.

All of the above need to be considered when making a change to your Janrain Registration experience. For example, adding a field to your registration form will involve updating your flow, your UI markup, and potentially your schema.

Registration User Interface

Janrain provides an out-of-the-box Registration UI with 20+ pre-built screens that drive a best-in-class registration experience for the end-user. The screens are built with HTML and JavaScript and neutrally styled with CSS.

JTL (Janrain Templating Language) tags render forms and fields and interact with the flow configuration layer to validate and submit data to the Registration database. The Registration UI leverages Janrain JavaScript libraries and integrates with Janrain JavaScript and RESTful APIs.

The Registration screens are provided by Janrain and then hosted and managed by the customer. They can be easily modified to match the website on which they are hosted, either by overwriting the default CSS files or by adding additional client-side markup to the screens.

See the Default Registration Experience for more information on the Janrain screens, and see Customizing the Registration Experience for more information on how to modify the UI to meet your needs.

Alternatively, if an entirely customized UI solution is needed, an API-only implementation may be the right solution. It is not required to use Janrain screens. The /oauth endpoints may also be used to develop a custom authentication and registration UI.

API Client Settings

Each website or application where Janrain Registration is implemented is configured with a unique API client, and settings can be defined per API client. These configurations are applied server-side and control site-specific behavior when users interact with the Registration UI, such as:

  • Social Login application used for authentication
  • Password reset and email verification endpoints
  • Variables included in transactional emails
  • Custom field validation rules defined as regular expressions

See API Clients, Permissions, and Settings for more information on how to configure API clients for use with your registration experience.

Flow Configurations

Flows provide a configuration layer that sits the between client-side elements of the Registration UI and the entity type where user data is stored. Flows define the fields that can be collected by the Registration UI, allowing different data validation rules to be defined across multiple sites all using the same database schema.

A flow is a JSON file hosted by Janrain and managed by the customer with the Configuration API. Flows are designed to be shared by multiple websites for a variety of user experiences, but multiple flows may be needed to support different workflows. See Customizing the Registration Experience for more details.

Database Schema (Entity Type)

Entity types are distinct profile data stores within a Capture application. A JSON schema defines the profile attributes that can be stored for user records within an entity type along with any validation rules or constraints that should be applied globally. The flow defines which fields map to which schema attributes and then applies any validation rules applied there before saving the data to a user record.

Schemas are managed with the /entityType endpoint. See Data and Access Management for more information about managing your schema.