چگونه مجوز تلگرام کار می کند
ورود به تلگرام چیست
مجوز Telegram یک راه سریع برای تأیید هویت شما در یک وب سایت یا برنامه با استفاده از حساب Telegram شما است. به جای ثبت نام از ابتدا، شما اجازه می دهید Telegram برای انتقال اطلاعات اولیه مشخصات (شناسه، نام، نام مستعار، نماد) با امضای رمزنگاری به سایت، و سایت ایجاد/اتصال یک حساب کاربری و شروع به جلسه.
مزایای کلیدی:- سرعت: 1-2 شیپور خاموشی - بدون تایید رمز عبور و ایمیل.
- قابلیت اطمینان: داده ها توسط Telegram امضا می شوند ؛ سایت می تواند آنها را بررسی کند.
- اتحاد: همان حساب تلگرام در وب، وب موبایل و داخل Telegram WebApp کار می کند.
گزینه های مجوز تلگرام
1. ویجت ورود تلگرام (وب سایت).
صفحه دکمه رسمی را نشان می دهد. پس از کلیک روی Telegram، یک پنجره تأیید را نشان می دهد، سپس مجموعه ای از زمینه ها + امضا (هش) را به سایت باز می گرداند، که سرور آن را بررسی می کند و یک جلسه ایجاد می کند.
2. مجوز از طریق ربات (URL ورود/لینک عمیق).
کاربر با استفاده از یک لینک خاص (login_url) ربات را باز می کند. ربات تایید از Telegram دریافت می کند و داده های کاربر سایت را با امضا ارسال می کند.
3. Telegram WebApp (در داخل چت/ربات).
این سایت در «مرورگر داخلی» Telegram (WebApp) باز می شود. مشتری یک شی initData را به WebApp با پارامترهای کاربر و یک امضای رمزنگاری منتقل می کند که بر اساس آن backend درخواست ها را تایید می کند.
هر سه سناریو در اطراف یک اصل ساخته شده است: سایت به مرورگر اعتماد ندارد، اما امضاهای Telegram، قبل از صدور جلسه، آن را بر روی سرور بررسی می کند.
آنچه کاربر می بیند (گام به گام)
1. روی «ورود از طریق تلگرام» (در سایت/در ربات/در WebApp) کلیک کنید.
2. تلگرام یک پنجره تأیید را نشان می دهد (یا از یک جلسه تأیید شده در مشتری استفاده می کند).
3. پس از رضایت، سایت به طور خودکار telegram_id، نام، نام مستعار (در صورت وجود)، نماد (URL) و تمبر زمان مجوز را دریافت می کند.
4. این سایت یک حساب کاربری را ایجاد یا پیوند می دهد و شما را وارد می کند - اغلب بدون وارد کردن رمز عبور.
چه اتفاقی می افتد در سرور (مختصر و روشن)
1. این سایت مجموعه ای از پارامترها را از مشتری دریافت می کند (به عنوان مثال: «id»، «first _ name»، «username»، «photo _ url»، «auth _ date»، «hash»).
2. سرور یک رشته داده را تولید می کند: جفت های «key = value» را به ترتیب حروف الفبا مرتب می کند، به استثنای «هش»، و با یک شخصیت خط تغذیه می پیوندد.
3. سرور HMAC-SHA256 را از این رشته با یک راز مشتق شده از نشانه ربات محاسبه می کند (راز SHA256 از نشانه ربات است).
4. نتیجه را با «هش» ورودی مقایسه می کند. اگر «auth _ date» «تازه» باشد (معمولا یک پنجره اعتبار ≤ 24 ساعت)، داده ها واقعی در نظر گرفته می شوند.
5. سرور با «telegram _ id» به دنبال یک کاربر است.
اگر یافت، مجوز و به روز رسانی مشخصات.
اگر نه، یک حساب جدید ایجاد کنید و وارد شوید.
6. یک نشانه جلسه/کوکی را به یک سایت یا نشانه برنامه می دهد.
معنی: حتی اگر کسی سعی در تغییر نام یا نام مستعار داشته باشد، امضا خراب می شود و سرور ورود را رد می کند.
دقیقا چه چیزی به سایت منتقل می شود
مورد نیاز: 'id' (telegram_id)، 'auth _ date'، 'هش'.
اغلب: 'first _ name'، 'last _ name'، 'username'، 'photo _ url'، گاهی اوقات زبان رابط.
بدون دسترسی به مکاتبات، مخاطبین و غیره - این شبکه های اجتماعی OAuth نیست، جایی که مجوز های گسترده درخواست می شود.
نحوه اتصال تلگرام به حساب کازینو (برای بازیکن)
1. برو به مشخصات در سایت/در نرم افزار.
2. روی «لینک تلگرام «/» ورود از طریق تلگرام »کلیک کنید.
3. درخواست را در تلگرام تایید کنید.
4. انجام شد: حساب شما با «telegram _ id» شما تماس گرفته است. حالا شما می توانید استفاده کنید:- ورود سریع از طریق دکمه، اطلاعیه ها در مورد معاملات/مسابقات در ربات، رابط WebApp (میز نقدی/مدیران) به طور مستقیم به Telegram، در صورت ارائه.
امنیت و انطباق
تأیید امضا - فقط سرور. چک های مشتری قابل اعتماد نیستند.
پنجره اعتبار «auth _ date» را علامت بزنید (مثلاً ≤ 86400 ثانیه).
مجموعه ای از دستگاه ها برای اقدامات مهم (خروجی، تغییر جزئیات)، نیاز به 2FA/password، حتی اگر ورود از طریق Telegram بود.
حفاظت CSRF/پخش. از nonce/« state »در تغییر مسیرها استفاده کنید، جلسه را به دستگاه/مرورگر متصل کنید.
محدودیت دامنه دکمه ورود و WebApp فقط باید در دامنه های قابل اعتماد کار کند.
ذخیره سازی داده ها. به حداقل رساندن: telegram _ id به عنوان کلید ارتباطی اولیه ؛ فیلدهای اضافی را ذخیره نکنید. مطابق با قوانین داده های محلی (GDPR و معادل آن).
جدا شدن دکمه «Disable Telegram» را به کاربر بدهید و بسته را به درستی حذف کنید.
ضد گلوله. ورود به IP/دستگاه با ورود به سیستم، اعمال نمره خطر، محدودیت در تلاش.
بازی مسئولانه حتی با ورود راحت، KYC/AML و محدودیت های حساب را دنبال کنید.
Telegram WebApp: چه چیزی متفاوت است
راه اندازی در داخل تلگرام با انتقال 'initData' (بسته پارامتر + امضا).
همراه با تمام درخواست ها به API خود را با یک هدر/پارامتر با initData و اعتبار امضای بر روی سرور با توجه به همان اصل (HMAC-SHA256 با یک راز از نشانه ربات).
مزایا: دکمه های بومی، به اشتراک گذاری، اسکریپت های سریع (کیف پول، مسابقات، وظایف) بدون تغییر به مرورگر.
محدودیت ها: بستگی به مشتری Telegram (ساخته شده در WebView)، سیاست های پلت فرم و قابلیت های API مرورگر دارد.
موارد استفاده معمول
به سرعت در حال حرکت. یک بازیکن جدید از طریق Telegram وارد می شود، سایت یک حساب کاربری ایجاد می کند و بلافاصله پیشنهاد می دهد که limits/2FA را تنظیم کند.
تنها ثبت نام برای وب و WebApp. کاربر در چت شروع کرد، در مرورگر ادامه داد - پیشرفت و کیف پول معمول است.
هشدار در ربات سپرده ها، وضعیت خروج، کدهای پین مسابقات.
لینک های ارجاع از طریق لینک عمیق «شروع»، شما می توانید کد ref را منتقل کنید و منبع را در اولین ورود وارد کنید.
مسائل و راه حل های مشترک
"عدم تطابق امضای نامعتبر/درهم ساز. "بررسی کنید:- خط برای امضا به ترتیب حروف الفبا جمع آوری شد، «هش» از خط حذف شد، راز = SHA256 از نشانه ربات، و نه خود نشانه، از HMAC-SHA256 استفاده کنید، نه فقط SHA256.
- «auth_date. منقضی شده» پنجره را بزرگتر کنید (اما متوسط) و رانش ساعت احتمالی را در نظر بگیرید.
- "ورود به سیستم از جلو عبور می کند و روی سرور قرار می گیرد. "اعتبار سنجی باید مبتنی بر سرور باشد ؛ به نتيجه جبهه اعتماد نکن.
- کاربر دسترسی به تلگرام را از دست داده است. "یک جایگزین: ورود از طریق ایمیل/رمز عبور + 2FA، روش untethering از طریق پشتیبانی.
- "حسابهای تکراری "در اولین ورود، سعی کنید برای پیدا کردن کاربر از طریق ایمیل/تلفن و پیشنهاد ادغام با تایید.
بهترین تمرینات (برای بازیکنان)
Telegram را به یک حساب کاربری که قبلا ایجاد کرده اید پیوند دهید تا تاریخ و پاداش ها را از دست ندهید.
2FA را در حساب خود فعال کنید (ورودی تلگرام جایگزینی برای عامل دوم نیست).
کدها/پیوندها را به «مدیران» در حساب شخصی خود گزارش ندهید - هر عملیاتی را فقط از طریق ربات/دکمه رسمی در سایت انجام دهید.
اگر دسترسی به Telegram را از دست بدهید، پیش از آن روش بازگرداندن ورود به سایت را بدانید.
بهترین روش (برای محصول/توسعه)
اعتبار امضای سمت سرور، پنجره زمان، ضد پخش.
محدودیت در فرکانس ورود، ممیزی، هشدار ناهنجاری.
اتصال شفاف/عدم اتصال تلگرام، صادرات/حذف داده ها در صورت درخواست.
سیاست های دانه ای: «ورود از طریق Telegram مجاز است، اما خروجی تنها با تأیید اعتبار مجدد است».
تست ویجت ورود/WebApp در مشتریان و مرورگرهای مختلف Telegram.
سوالات متداول
اين اوث هست ؟
به نظر می رسد UX، اما از لحاظ فنی ساده تر است: Telegram یک بسته داده امضا شده را انتقال می دهد و نشانه ها را برای دسترسی به منابع کاربر صادر نمی کند.
آیا می توانم بدون برنامه Telegram وارد شوید ؟
اگر از ویجت Login در وب استفاده می کنید، Telegram هنوز شما را از طریق لایه مشتری/وب خود تأیید می کند. مشتری نصب شده روند کار را سرعت می بخشد.
آیا تاریخچه تماس/چت به اشتراک گذاشته شده است ؟
نه، اينطور نيست این سایت فقط فیلدهای اصلی پروفایل + 'telegram _ id' را دریافت می کند، و همه اینها با یک امضا.
امن است ؟
با تأیید امضای سرور مناسب و محدودیت پنجره زمان، بله. اختیاری شامل 2FA و محدودیت های عمل بحرانی است.
مجوز Telegram یک راه سریع و امن برای ورود به سیستم با داده های امضا شده Telegram است. کاربر می تواند دسترسی سریع بدون رمز عبور، محصول - شناسایی قابل اعتماد بدون ذخیره اطلاعات شخصی غیر ضروری. مهم است که به طور دقیق امضای سرور را تأیید کنید، پنجره زمانی را محدود کنید و ورود به سیستم تلگرام را با 2FA و سیاست های امنیتی مسئول ترکیب کنید.