این کار را به روشهای متفاوتی میتوان انجام داد، اما رایجترین روش و راهکاری که در جوابکو از آن استفاده شده به این صورت است:
- وقتی کاربر روی دکمه اتصال به تلگرام کلیک میکند به Back-end یک درخواست فرستاده شده و در سرور یه Token به صورت تصادفی ساخته میشه و به همراه یک تاریخ انقضا که میتونه مثلا ۱۰ دقیقه بعد از ایجاد Token باشه به Record کاربر در پایگاهداده اضافه میشه. این Token میتونه یه عدد تصادفی بلند باشه و یا md5 شده تاریخ درخواست و یه عدد تصادفی و یا هر رشته دیگه که اولا یکتا باشه و دوما قابل حدس نباشه.
- این Token در جواب درخواستی که از Back-end فرستاده شد به Front-end فرستاده میشه و Front-end کاربر رو به
https://telegram.me/[YourBot]?start=[Token]۵۲
هدایت (Redirect) میکنه. - وقتی کاربر در تلگرام دکمه Start رو میزنه پیام
/start [Token]
به بات شما فرستاده میشه. کافیه در کد بات خودتون Token رو استخراج کنید و در پایگاهداده ببینید این Token برای کدام کاربر هست و مطمئن شید که تاریخ انقضا نگذشته. - شناسه تلگرام رو به همراه هر اطلاعات دیگری که از تلگرام کاربر لازم دارید به رکورد کاربر در بانک اطلاعاتی اضافه کنید و یک پیام موفقیت براش ارسال کنید. در این مرحله اگر نیازه میتونید چک کنید که این شناسه تلگرام به کاربر دیگری متصل نباشه.
- کد Token و تاریخ انقضا رو برای اون کاربر از بانک اطلاعاتی حذف کنید.