Customizing Janrain: The 4 Components of Registration Troubleshooting

Schema

  • Description: For user data to become available to you, you must map it to our profile data storage by using a Schema attribute.
  • How to use it: Add a new Schema attribute via the /entity.addAttribute endpoint
  • How to troubleshoot it: Log in to the Janrain Dashboard and select your Capture app. Click on the Schema menu item, carefully selecting the appropriate entity type (“user” is the default). Ensure that the attribute appears in the JSON-formatted Schema and that it contains the appropriate definition. Alternatively, you can use the /config/.../schemas/schema or the /entityType endpoints to see the full JSON-formatted list of Schema attributes.
  • How to fix it: You may need to remove/re-create or update the attribute using /entityType.removeAttribute, /entityType.addAttribute or /entityType.setAttributeConstraints. You can also use a PUT call against the /config/.../schemas/schema/attribute endpoint, as needed.


Flow

  • Description: The JSON-formatted Janrain Flow defines the user experience for a given web property which is leveraging the Janrain Registration functionality.
  • How to use it: The Configuration API (documentation available at https://educationcenter.janrain.com/home/configuration-api) provides a number of endpoints which are used for adding fields, customizing forms, updating email templates and translations and verifying version history, among other uses.
  • How to troubleshoot it: Use the /config.../flows endpoint (documented at https://educationcenter.janrain.com/home/configuration-api#config-app-flows) to view all current flows and their versions (you’ll need to click on a flow in an API Client like Postman to review its content, or use the /config.../flows.../versions endpoint to inspect at a deeper level). You may notice that fields you expect to see on the web do not appear in the flow. For a field to appear in the Registration experience for an end user, the field must be mapped to the correct Forms within the Flow. See https://educationcenter.janrain.com/home/configuration-api#documentation-modifying-forms for additional information. Make sure your field in the Flow maps to the correct Schema attribute and that the field is listed in the “fields” array in the designated form (/config/{{app_id}}/flows/:flow/forms/:form).
  • How to fix it: You may need to create a field, update a field’s definition, map a field to specific forms, or update field validations, as needed. For a list of applicable endpoints, see https://educationcenter.janrain.com/home/configuration-api


Login Client

  • Description: If you wish to provision scoped access for a particular registration property which is different from others maintained by your organization, you can create a new API Client.
  • How to use it: Add a new API Client via the /clients/add endpoint which is documented at https://educationcenter.janrain.com/home/clients-and-settings-api#clients-add
  • How to troubleshoot it: Log in to the Janrain Dashboard and select your Capture app. Click on the API Clients menu item and inspect its definition. You can also inspect your list of API Clients via the /clients/list endpoint. Alternatively, in Console you can also go to 'Manage Properties', select a Client, and then look for error messages to appear in the UI.
  • How to fix it: You may need to add a new Login Client or update an existing one using the /clients/set_description endpoint which is documented at https://educationcenter.janrain.com/home/clients-and-settings-api#clients-set_description


Registration UI

  • Description: If you are using the Janrain Widget, you will map your form fields to a Registration UI screen and form (HTML).
  • How to use it: JTL tags (Janrain Template Language) are nested within HTML-based screens and forms in order to provide the correct user experience for your end users. A JTL tag for the field firstName for example, would look like this:  {* firstName *}
  • How to troubleshoot it: Errors will appear in the Registration UI if your fields in the HTML forms and screens do not match what is in your flow and/or schema. Examine your fields, your forms, your schema, and your registration UI (JTL tags) to make sure the names and associations match. Make sure to also use Developer Console in your Browser to look for Javascript errors and Network errors of 4xx-5xx. Tip: There are Javascript handlers built into your Janrain implementation which allow you to inspect specific settings in Developer Console. For example:  janrain.settings; and janrain.settings.capture; are two of these handlers which allow you to inspect your flow name, flow version, Capture App URL, Engage App URL, Client ID, and many other settings.
  • How to fix it: If there is a mismatch along the chain of Schema, Login Client, Flow and Registration UI values, you will need to make updates via our API, Dashboards, or to your website’s HTML and Javascript.