سناریو کلی :
جزئیات مراحل :
سرویس initiate login
آدرس سرویس : initiate-login/
بدنه درخواست : ندارد
متد : POST
پاسخ :
{ "user_info": { "mobile_number": "", "national_number": "", "loa": "" }, "client_info": { "scope_titles": "", "client_name": "", "client_logo": "we dont need client id and download address any more" }, "action_button_address":"/send/otp" } |
توضیح پاسخ :
سرویس ارسال پیامک
آدرس سرویس : send/otp/
بدنه درخواست : اطلاعات کدملی و شماره موبایل
متد : POST
نوع محتوا : application/x-www-form-urlencoded
پاسخ :
"error": { "next_page": "it can be current or error or any page , if it is current stay there and toast the reason and if it is error page print it on the error page dont need to toast but for another pages toast the reason", "reason": "" }, "success": { "next_page": "otp", "next_page_action":"/authenticate/first-page" "next_page_data":{ "code_expire_date":12312 }, "ready_for_final_authenticate": false } |
توضیح پاسخ :
دکمه ارسال مجدد پیامک در صفحه otp نیز همین سرویس را فراخوانی میکند.
سرویس احرازهویت اطلاعات صفحه اول (first-page)
آدرس سرویس : authenticate/first-page/
بدنه درخواست : کد واردشده
متد : POST
نوع محتوا : application/x-www-form-urlencoded
پاسخ :
"success": { "next_page": "otp", "next_page_action":"/login" "next_page_data":{}, "ready_for_final_authenticate": true } |
توضیح پاسخ :
در هر پاسخی وقتی مقدار ready_for_final_authenticate برابر true بود باید login/ فراخوانی شود و کاربر redirect شود.
پاسخ خطا (در صورتی که شاهکار اطلاعات کاربر را قبول نکند)
"error": { "next_page": "login", "reason": "mobile number and national number not matched", "next_page_action":"/authenticate/first-page", "next_page_data":{} } |
در این حالت کاربر صفحه لاگین را میبیند و در آنجا پیام خطا toast میشود و چون صفحه اول است درخواست initiate login نیز برای پرکردن اطلاعات صفحه زده میشود.
پاسخ خطا (در صورتی که کد پیامکی اشتباه زده باشد)
"error": { "next_page": "otp", "reason": "otp was incorrect", "next_page_action":"/authenticate/first-page", "next_page_data":{ "code_expire_date":1111 } } |
پاسخ درست (حالتی که مرحله بعد صفحه تشخصیص چهره باشد)
"success": { "next_page": "facedetection", "next_page_action":"/authenticate/face-decetion" "next_page_data":{...}, "ready_for_final_authenticate": false } |