2-Factor Authentication Flow
Two-factor authentication (also known as 2FA) is a method of confirming a User's claimed identity by utilizing a combination of two different components. These components may be something that the User knows, something that the User possesses or something that is inseparable from the User (phone).
In the next image we can see how the flow works in 2FA:
In this image we can see the flow process:
1. The User specify his number in your App.
2. Your App sends a Request PIN to SMSpubli's platform.
2.1 (optional) SMSpubli make a HLR request to the Operator to check if the number is valid. This step is optional, if you don't want us to make a HLR request you just have to specify in the params of the step 2.
2.2 (optional) The Operator responds immediately with the results of the HLR Lookup. This step is optional, we recommend to do this step because in case it is an invalid number all the flow will stop in the step 3, so you can save money because we don't need to send the SMS with the PIN.
3. SMSpubli responds to your request with the results, in case we did a HLR Lookup and It was an invalid number we will let you know in this reply, in case the number is valid we will continue with the flow.
4. SMSpubli sends the SMS with the PIN to the Operator.
5. The Operator sends the SMS with the PIN to the User.
6. The Operator sends the Delivery Report to SMSpubli.
7. (optional) SMSpubli sends the Delivery Report to your App. The Delivery Report tells you if the message was delivered or not. This param is optional, you can specify in the step 2 in what URL do you want to receive the Delivery Report. Check format here.
8. User enters the PIN in your App.
9. Your App sends to SMSpubli a Verify PIN request.
10. SMSpubli responds with the result of the verification, only one time is possible to be verified. In the step 2 you can specify expiration, number of tries...