Janrain Registration is composed of four main components:
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
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.
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.
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.