Best practices TINFO
In this document we offer some tips and considerations to optimise your login and regsitration flow:
1. Should you store data or not?
When using Additional Information with an authentication and you want to store the user data, you should only request additional data when you consider it is necessary to update your own database. In this case we recommend the following workflow:
- First authenticate the user without requesting additional data.
- After authentication has been done, you should check your local storage to see if it is necessary to request additional data about the user.Â
- Maybe the user is new in your system.
- Maybe the data you already have about the user is outdated.
- Or maybe this is the first time the user is executing an action that requires additional user information.
Note that in this scenario it is necessary to make two transactions. If using xID, it might be convenient to apply the XID:unsolicited:nodialog login hint in the first step.
On the other hand, if you don't want to store the user data, you may want to request Additional Information more often.
One option is to first authenticate the user without the need for Additional Information. Then, you can request Additional Information at a later time when it is necessary in the workflow, for instance during a checkout prosess. In this use case the id_token_hint option shold be used for the second request.
Another option is to postpone the authentication of the user until you know it is necessary to request Additional Information. In this case only one transaction will be sufficient.
2. How often should you collect user data?
What is the purpose of collecting the users data? You should consider these different cases:
- Signing up - registering a profile at your website
- Prefilling forms
- Personalise and customise your website
Remember that getting user data from Additional Information will return a consent dialogue every time. You decide if you want to save the information you get on the user, or ask for this every time the user is to for example prefill a form.
It is currently not possible to get updates automatically on the users data if the user is to change his Additional Information, let's say if he decides to move or changes his phone number. You can currently only get updated information on the user when he is at your website using the applications where you have enabled Additional Information.
3. Should you prefill or lock the user data in forms?
When using Additional Info to complete forms for signing up or buying items and services online, you should consider:
- How should the data be presented to the user after finishing the Additional Information dialogues
- At what point do you want to store the data in your user data base
There are a few alternatives for this, with different implications for the quality of the data.
- Prefill forms, enabling the user to edit the data before locking the form. This implies that the data source is the user himself, and not Additional Information.
- Lock the user data coming from Additional Information. This way you are able to store the information directly. In this case you can offer the user a button for editing his data.
You should consider the experience you want to give the user, and what purpose the user data serves. Maybe the user doesn´t even need to see the actual data, enabling the form to be submitted directly for him through the dialogues of xID. Or maybe you want him to see the prefilled fields in the form and submit the form himself. Imagine how Additional Information enables you to change and simplify the user experience, only using the dialogues that the service provides itself.