بهترین روش های تأیید و احراز هویت دو مرحله ای

  • 2021-04-10

تأیید اولین قدم ضروری در رابطه آنلاین شما با کاربر است. با تأیید اینکه یک کاربر جدید همان کسی است که می‌گوید، می‌توانید هرزنامه و کلاهبرداری را در سایت خود کاهش دهید و در عین حال امنیت کاربر را تضمین کنید.

طراحی راستی‌آزمایی کاربر فراتر از انتخاب کانال راستی‌آزمایی مناسب است. Twilio از هزاران مشتری پشتیبانی کرده است که تأیید صحت و احراز هویت دو مرحله ای (2FA) را اجرا می کنند. این راهنما توصیه هایی را برای هر مرحله از فرآیند تأیید کاربر، از جمع آوری شماره تلفن تا بازیابی حساب، ارائه می دهد.

این توصیه‌ها با در نظر گرفتن Twilio Verify API نوشته شده‌اند، اما بسیاری از آنها صرف‌نظر از ارائه‌دهنده تأیید شما اعمال خواهند شد.

اگر آماده شروع ساخت هستید، یکی از Verify Quick Starts ما را بررسی کنید، که در زبان های برنامه نویسی مختلف برای کانال های تأیید مختلف موجود است.

تفاوت بین تایید و احراز هویت را درک کنید

تأیید و احراز هویت تجربیات کاربری مشابهی هستند، اما چند تفاوت کلیدی در نحوه طراحی تجربه کاربری دارند.

راستی‌آزمایی زمانی اتفاق می‌افتد که برای اولین بار جزئیات را با حساب مشتری مرتبط می‌کنید. این می تواند باشد:

  • هنگام ثبت نام
  • هنگامی که کاربر اطلاعات تماس جدیدی مانند آدرس ایمیل یا شماره تلفن ارائه می دهد
  • هنگامی که کاربر یک دستگاه یا مرورگر جدید را با حساب خود مرتبط می کند

احراز هویت، از جمله احراز هویت دو مرحله‌ای (2FA) یا احراز هویت چند مرحله‌ای (MFA) در طول تعاملات مداوم مشتری مانند:

  • در هنگام ورود
  • هنگام پرداخت یا هنگام انجام معاملات با ارزش بالا
  • در تماس های خدمات مشتری
  • تغییرات حساب مانند بازنشانی رمز عبور یا به‌روزرسانی آدرس

Twilio Verify API را می توان برای تأیید و تأیید هویت کاربران استفاده کرد و می تواند برای همه این تعاملات با مشتری استفاده شود.

یک جریان ثبت نام کاربر را برنامه ریزی کنید

تعادل سرعت با امنیت

مانند هر راه‌حل امنیتی، می‌خواهید مطمئن شوید که اصطکاک‌هایی که اضافه می‌کنید مانع از دستیابی کاربر به اهدافش نمی‌شود، چه ثبت‌نام در سرویس شما یا تکمیل یک تراکنش.

پشتیبانی از چندین کانال احراز هویت

API Twilio Verify پشتیبانی می کند:

هر کانال مزایای متفاوتی دارد. به عنوان مثال، پیامک بالاترین پذیرش کاربر نهایی را دارد در حالی که TOTP امن تر است و به صورت آفلاین کار می کند. ممکن است بپرسید که آیا 2FA مبتنی بر ایمیل ایده خوبی است (بهتر از عدم وجود 2FA!).

اکثر شرکت ها از چندین کانال تأیید پشتیبانی می کنند و سپس به کاربران خود اجازه می دهند تصمیم بگیرند. به عنوان مثال، GitHub از TOTP، SMS و کلیدهای امنیتی پشتیبانی می کند و گزینه های بیشتری را برای بازیابی حساب ارائه می دهد.

آیا باید از کانال پیامک استفاده کنم؟

پیامک امنیت کمتری نسبت به TOTP یا تأییدهای فشاری ارائه می دهد، اما در بسیاری از موارد همچنان باید آن را به عنوان یک گزینه احراز هویت در دسترس بگذارید. پشتیبانی از پیامک در همه تلفن‌های همراه تعبیه شده است و - بدون برنامه جداگانه - توکن‌هایی که توسط پیامک تحویل داده می‌شوند به کاربران شما می‌رسند. مزایای تجربه کاربری پیامک همچنان آن را به انتخابی محبوب برای بسیاری از شرکت ها تبدیل کرده است. درباره اینکه چرا SMS 2FA حذف نمی‌شود بیشتر بیاموزید.

اگر انتخاب بین احراز هویت فقط با رمز عبور یا رمز عبور به اضافه پیامک باشد، افزودن پیامک یک برنده واضح است.

کدام کانال ها امن ترین هستند؟

تأییدیه‌های تأیید دستگاه فشاری و بی‌صدا امن‌ترین کانال برای 2FA هستند، زیرا به دستگاه خاصی متصل هستند و در برابر فیشینگ مقاوم هستند.

Push همچنین امکان رد درخواست احراز هویت را ارائه می دهد که می تواند برای شناسایی تقلب استفاده شود. احراز هویت فشاری نیز برای کاربران شما بسیار راحت است. به‌جای اینکه مجبور باشید یک برنامه تلفن همراه را باز کنید و به توکن وب‌سایت خود بروید، احراز هویت را فشار دهید، گفتگوی «تأیید»/ «رد کردن» را در دسترس شما قرار می‌دهد.

احراز هویت Silent Device Approval این فرآیند را با انجام بی‌صدا در پس‌زمینه و بدون دخالت کاربر ساده‌تر می‌کند. تأیید دستگاه فشاری و بی‌صدا را می‌توان با تأیید کتابخانه‌های مشتری (SDK) مستقیماً در برنامه شما جاسازی کرد، بنابراین کاربر نیازی به دانلود برنامه اضافی ندارد.

تأیید حساب، امنیت و جریان استفاده پیشنهادی

برای مثالی از جریان ثبت نام کاربر با رمزهای عبور یکباره، منطق تلاش مجدد هوشمند و بازگشت کانال صوتی، این پروژه تبادل کد را بررسی کنید.

به مشتریان خود اجازه دهید کانال های احراز هویتی را که می خواهند استفاده کنند انتخاب کنند

به مشتریان اجازه دهید تنظیمات برگزیده احراز هویت را تنظیم کرده و آن تنظیمات را برای ورودهای بعدی ذخیره کنند. این یک راه عالی برای خوشحال کردن کاربران و کاهش ناامیدی در طول فرآیند احراز هویت است. به عنوان مثال، کاربران تلفن ثابت به جای پیامک، یک تماس صوتی می خواهند. می توانید تنظیمات برگزیده را در پایگاه داده کاربر خود ذخیره کنید یا از یک سرویس شخص ثالث مانند Segment Personas استفاده کنید.

این کانال‌ها همچنین می‌توانند برای پشتیبان‌گیری و بازیابی حساب مورد استفاده قرار گیرند (در ادامه در این مورد بیشتر توضیح می‌دهیم).

تجربه کاربری خود را برای موفقیت در تأیید طراحی کنید

نمایش اطلاعات تماس کامل برای تأیید اولیه کاربر

برای موارد استفاده از تأیید تلفن یا ایمیل (بر خلاف ورود به سیستم در حال انجام یا احراز هویت دو عاملی) ، شناسه کامل را در رابط نمایش دهید تا کاربر بتواند در طی مراحل ثبت نام هرگونه علامت گذاری را تشخیص دهد. همچنین می توانید یک مرحله میانی را معرفی کنید که از کاربر بخواهد قبل از ارسال OTP به منظور ارسال اشتباه ، شماره تلفن را تأیید کند.

one time passcode input field with message that shows complete phone number with option to edit.

برای تأیید تلفن در سطح بین المللی فکر کنید

ایجاد پشتیبانی بین المللی برای شماره تلفن شامل جدا کردن کد کشور و زمینه های ورودی شماره تلفن در قسمت های فرم شما و ذخیره شماره تلفن در قالب استاندارد E. 164 است.

شماره تلفن را قبل از ارسال رمزهای عبور یک بار تأیید کنید (OTPS)

همچنین می توانید از API جستجوی Twilio برای ساخت لیست مجاز کدهای کشور به منظور فیلتر کردن ثبت نام ها برای برآورده کردن الزامات مربوط به انطباق ، کاهش کلاهبرداری یا در غیر این صورت کنترل خط لوله ورود به سیستم خود استفاده کنید.

در اینجا چند منبع اضافی در ساخت ورودی شماره تلفن و اعتبار سنجی شماره ها در این مرحله آورده شده است:

از ویژگی های HTML برای بهبود تجربه 2FA کاربران خود استفاده کنید

بیشتر از عنصر فروتن به عنوان مکانی برای بهینه سازی تجربه کاربر نگاه نکنید. در مورد چگونگی طراحی ویژگی های HTML خود برای پشتیبانی از خودکار و بیشتر در این پست وبلاگ ، اطلاعات بیشتری کسب کنید.

برای ارائه OTP از منطق مجدد هوشمند استفاده کنید

برای جلوگیری از سوءاستفاده (و کاربران بی تاب!) ما همیشه توصیه می کنیم بافر مجدد را در گردش کار تأیید کنید. این به جلوگیری از:

  • به طور تصادفی یک کاربر را با پیام های متنی مکرر اسپم می کند
  • ضربه زدن به محدودیت نرخ API یا هزینه غیر ضروری

ما پیشنهاد می کنیم که تأیید محدودیت ها را به 1 درخواست / 30 ثانیه در هر شماره تلفن با برگه برگشتی نشان دهید. در پست وبلاگ بیشتر در مورد بهترین شیوه ها برای مدیریت منطق آزمایش مجدد با پیام کوتاه 2FA بیاموزید یا این پروژه Exchange Code را با یک مثال منطق آزمایش مجدد که در زیر مشاهده می شود ، بررسی کنید.

SMS Verification input box with title Enter the code sent to your device and subtitle resend code in 4 seconds

گزینه های بازیابی حساب را زود اضافه کنید

به این فکر کنید که چه اتفاقی می افتد وقتی کاربر دیگر مانند یک رمزعبور فراموش شده یا تلفن گمشده به کانال احراز هویت دسترسی نداشته باشد. حداقل یک روش اضافی برای تأیید اعتبار کاربر در زمان ثبت نام ثبت کنید تا همیشه نسخه پشتیبان تهیه کنید. ترکیبات مشترک شامل موارد زیر است:

  • رمز عبور + ایمیل
  • ایمیل + شماره تلفن
  • برنامه Authenticator (TOTP) + کدهای پشتیبان
  • تأیید هویت + شماره تلفن

سپس اگر از تأیید اعتبار دو عاملی (2FA) پشتیبانی می کنید ، یک کانال سوم اضافه کنید. برای توصیه های بیشتر ، این صحبت را در مورد طراحی بازیابی حساب مشتری در دنیای 2FA مشاهده کنید یا اسلایدها را بررسی کنید.

برای تأیید و تأیید اعتبار پس از ثبت نام برنامه ریزی کنید

همیشه هر روش تماس جدیدی را که اضافه می کنید تأیید کنید

اولین بار که کاربر آن را ارائه می دهد ، یک رمز عبور یک بار به شماره تلفن یا آدرس ایمیل ارسال کنید. این تضمین می کند که کاربر کنترل دستگاه یا هویت را داشته باشد. برای ایمیل ، تأیید آدرس ایمیل کاربر برای اولین بار که آنها ارائه می دهند بهترین روش برای کاهش کلاهبرداری ، اطمینان از تحویل و حفظ اعتبار خوب ارسال است. اگر کاربر از برنامه تلفن همراه شما استفاده می کند ، دستگاه را به عنوان عاملی که برای تأیید فشار استفاده می شود ، ثبت کنید.

صبر کنید تا اطلاعات برای ذخیره آن در پایگاه داده خود تأیید شود. از طرف دیگر ، یک پرچم "تأیید شده" اضافه کنید. این امر به جلوگیری از اتصال یا سایر اطلاعات تأیید نشده به حساب کاربری کمک می کند.

اگر به تأیید یک قطعه اطلاعات تماس اهمیتی ندارید ، از شما بپرسید که آیا اصلاً نیاز به جمع آوری آن دارید یا خیر.

شماره تلفن یا PII دیگر برای تأیید اعتبار مداوم

پس از تأیید شماره تلفن برای اولین بار ، استفاده های بعدی باید شماره تلفن را برای جلوگیری از نشت PII ماسک کنند. بر خلاف تأیید اولیه ، هیچ گزینه ای برای ویرایش شماره تلفن برای تأیید اعتبار در مثال زیر وجود ندارد. ما توصیه می کنیم 3 یا 4 شماره را در معرض دید قرار دهید و بقیه را مانند +1 (5 **) ***-** 67 یا ******** 567 پوشش دهید.

Input box with title Enter the code sent to your device and subtitle showing that an SMS verification was sent to a partially obscured phone number

تأیید هویت دو عاملی (2FA)

ارائه 2FA در صورت عدم انتخاب این ویژگی ، به تأمین امنیت مشتریان کمک نمی کند. مشوق ها می توانند به کاربرانی که از سرمایه گذاری امنیتی احساس فشار می کنند ، کمک کند.

برای پشتیبانی جامع تأیید از API Twilio Verify استفاده کنید

API Verify به شما کمک می کند تا به سرعت اعتماد به نفس کاربرانی که به پلتفرم خود دسترسی پیدا کرده و روی منطق کسب و کار خود تمرکز کنید.

گزینه های سفارشی سازی را کاوش کنید

طول توکن راست را انتخاب کنید

API از طول توکن بین 4 تا 10 رقم با پیش فرض 6 رقم پشتیبانی می کند. کدهای تأیید طولانی تر ترکیبات بیشتری دارند و حدس زدن یا نیروی بی رحمانه سخت تر است. API دارای محدودیت نرخ قوی است که با تلاش های بی رحمانه از هر اندازه طول توکن مقابله می کند. می توانید طول توکن را در بخش خدمات تأیید کنسول Twilio تغییر دهید.

پیام تأیید را سفارشی کنید

API Verify از یک الگوی استاندارد پشتیبانی می کند. مثال انگلیسی:

تأیید به طور خودکار محل الگوی را بر اساس کد شماره تلفن کشور یا بازگشت به انگلیسی حل می کند. استفاده از این وضوح اتوماتیک بسیار توصیه می شود. اگر هنوز هم باید محلی را برای تأیید تأیید کنید ، از پارامتر محلی برای هر یک از ده ها زبان پشتیبانی شده ما استفاده کنید.

همچنین می توانید یک الگوی برای پشتیبانی از موارد استفاده مانند هشدارها ، کدهای پیامک محدود منشاء و فعل خود ارائه دهید.

رمز عبور یکبار مصرف خود را بیاورید

اگر از قبل اعتبار توکن و منطق تولید را دارید و می‌خواهید آن سیستم‌ها را در جای خود نگه دارید، می‌توانید این کار را انجام دهید. ما یک ویژگی داریم که در آن می‌توانید از OTP خود استفاده کنید و همچنان از الگوهای پیام و محلی‌سازی‌های قبلی ما برای متن و صدا استفاده کنید. با فروش Twilio تماس بگیرید و ما به شما کمک می کنیم این گزینه را فعال کنید.

محدودیت ها و تایم اوت ها را بشناسید

دوره اعتبار رمز

پس از تولید، توکن ها به مدت 10 دقیقه معتبر هستند. ما نمی‌توانیم مهلت زمانی اعتبار رمز را برای برنامه شما تغییر دهیم. اگر کاربران شما در عرض 10 دقیقه درخواست دیگری ارائه دهند، همان توکن را دریافت خواهند کرد.

محدودیت های نرخ

محدودیت‌های نرخ برای کمک به جلوگیری از تقلب و محافظت از برنامه شما و سرورهای Twilio وجود دارد. به عنوان مثال، ما تلاش برای ارسال به یک نهاد (شماره تلفن یا ایمیل) را محدود می کنیم. محدودیت‌های نرخ تعبیه‌شده ما برای اکثر مشتریان کافی است، اما می‌توانید محدودیت‌های نرخ خود را نیز تعیین کنید. علاوه بر این، این پست وبلاگ نحوه آزمایش و توسعه با Verify API را بدون محدودیت نرخ پوشش می دهد.

با 10 دقیقه وقفه، بیشتر تاخیری که در حین تأیید خواهید دید، ورودی کاربر است و نه درخواست‌های API.

برای جلوگیری از هزینه اضافی، پیام های اس ام اس را به یک بخش پیام محدود کنید

پیامک‌های ارسال‌شده با پیام‌رسانی قابل برنامه‌ریزی، تأیید اعتبار و تأیید به ازای هر بخش پیام قیمت‌گذاری می‌شوند.

محدودیت های کاراکتر برای بخش های پیام به انواع کاراکترهای استفاده شده بستگی دارد:

مجموعه کاراکتر محدودیت کاراکتر
فقط شامل کاراکترهای GSM است 160 کاراکتر
حاوی نویسه‌های غیر GSM (مانند ó و ¡) 70 کاراکتر

وقتی پیامی در یک بخش قرار نمی‌گیرد، به‌طور خودکار به دو یا چند بخش تقسیم می‌شود و برای همه آن بخش‌ها صورت‌حساب دریافت می‌کنید. بنابراین توصیه می‌کنیم پیام‌های OTP خود را طوری بسازید که در یک بخش قرار بگیرند یا از زمانی که بیش از یک بخش طول می‌کشد آگاه باشید. از ماشین حساب بخش برای تأیید اینکه یک پیام منجر به چند بخش می شود استفاده کنید.

Twilio Verify/Authy و بخش‌های پیام

پیام‌های پیش‌فرض و استانداردی که Verify و Authy ارائه می‌کنند در حال حاضر همه در یک بخش پیام قرار می‌گیرند، مگر در شرایط زیر:

  • پیام‌هایی که در زبان‌های محلی خاص ارسال می‌شوند، از جمله: pt، pt_BR، cs، el روی true تنظیم شده است. وقتی درست است، اگر ضمیمه کردن هشدار حریم خصوصی منجر به پیامی شود که بیش از یک بخش را می گیرد، هشدار حریم خصوصی اضافه نخواهد شد. تنظیم شده است ویژگی واقعی استفاده می شود
  • از ویژگی پیام سفارشی استفاده می شود

در مورد این استثنائات ، پیام خاص شما ممکن است بسته به پارامترهایی که بر طول کاراکتر مانند friendly_name ، code_l طول ، محلی و سایر گزینه های سفارشی که انتخاب می کنید ، در یک بخش پیام قرار بگیرند. می توانید بررسی کنید که چند بخش پیام پیام شما با ابزار ماشین حساب قطعه پیام رسانی استفاده می کند.

برای غیر منتظره آماده شوید

نظارت بر میزان تبدیل تأیید

نظارت بر جغرافیا برای تشخیص سنبله ها در تأییدهای غیرقابل کنترل که می تواند نشانگر سوء استفاده یا تحویل باشد.

محرک های استفاده از حساب Twilio ایجاد کنید

اگر مشکلی پیش آمد یا اگر سوءاستفاده در حساب شما با محرک های استفاده Twilio اتفاق بیفتد ، از طریق کنسول API ، CLI یا Twilio در حساب شما اتفاق می افتد ، مطلع شوید.

اضافه کردن خطا را اضافه کنید

سرانجام ، برای رسیدگی به خطاها به طور مناسب در برنامه مشتری ، از فرهنگ لغت خطای تأیید و جستجو استفاده کنید.

هنوز در مورد تأیید تعجب می کنید؟ما خوشحالیم که کمک می کنیم

اکنون که بهترین شیوه ها را دارید ، می توانید با تأیید API با Exchange Code Twilio ، در کمتر از 5 دقیقه SMS OTP ارسال کنید. در مورد پارامترهای پشتیبانی شده در مستندات API بیشتر بدانید یا یکی از سریع ما را به زبان مورد نظر خود بررسی کنید. اگر در مورد اجرای خود سؤالاتی دارید ، لطفاً دسترسی پیدا کنید. ما نمی توانیم صبر کنیم تا ببینیم چه چیزی را می سازید و ایمن می کنید!

به کمک نیاز دارید؟

همه ما بعضی اوقات انجام می دهیم. کد سخت است. اکنون از تیم پشتیبانی ما کمک بگیرید ، یا با بازدید از جمع آوری پشته Twilio یا مرور برچسب Twilio در پشته ، به خرد جمعیت تکیه دهید.

ثبت دیدگاه

مجموع دیدگاهها : 0در انتظار بررسی : 0انتشار یافته : ۰
قوانین ارسال دیدگاه
  • دیدگاه های ارسال شده توسط شما، پس از تایید توسط تیم مدیریت در وب منتشر خواهد شد.
  • پیام هایی که حاوی تهمت یا افترا باشد منتشر نخواهد شد.
  • پیام هایی که به غیر از زبان فارسی یا غیر مرتبط باشد منتشر نخواهد شد.