برنامهنویس وب و موبايل(React Native)
مقایسه گزینههای موجود برای ورود (لاگین) به اپلیکیشنها
آیا تا به حال به این فکر کردهاید که اگر روزی شماره تلفن همراهتان را عوض کنید، چه بلایی سر دادههایی که در اسنپ داشتید میآید؟
چند روز پیش مطلبی دیدم مبنی بر اینکه دادهها به دست کسی که خط تلفن قبلی شما را خریداری کرده میافتد!
شاید اگر توسعهدهندهگان اسنپ هم مقالهی زیر را قبل از آغاز به کار خوانده بودند، برای پیشگیری از این مشکل راهکاری در اپلیکیشنشان میگنجاندند.
مقالهی زیر توسط جوزف راسل نوشته شده و امیدوارم با ترجمه کردناش بتوانم به شما اگر در مرحلهی تصمیمگیری برای انتخاب نحوهی ورود کاربران به اپلیکیشنتان هستید کمک کنم.
مقایسه گزینههای موجود برای ورود (لاگین) به اپلیکیشنها
هنگامی که میخواهید روش لاگین کاربران را برای اپلیکیشن خود انتخاب کنید، انتخاب بین امنیت کاربران از سویی و راحتی کاربران از سویی دیگر نیازمند نوعی موازنه است. اگرچه دادههای کاربر از بالاترین سطح اهمیت برخوردار است اما محافظت افراطی و متعصبانه با استفاده از روشهای لاگین پیچیده و دارای مراحل زیاد، سبب دوری و از دست دادن کاربران میشود. از طرف دیگر محافظت ضعیف از اطلاعات کاربران، به منظور حفظ و راحتی آنها، باعث از دست رفتن دیتا، اعتماد و اعتبار شما میشود.
تعدادی از روشهای ورود به سیستم وجود دارند که توسعهدهندگان میتوانند از بین آنها انتخاب کنند و هر کدام از این روشها مزایا و معایب خاص خود را دارند. در زیر رایجترین و بهترین گزینههای ورود به سیستم را لیست میکنیم و محاسن و معایب نسبی آنها را ارزیابی میکنیم.
۱- لاگین از طریق کلمهی عبور
۲- لاگین از طریق شبکههای اجتماعی و لاگین از طریق اپلیکیشن ثالث
۳- لاگین از طریق شماره موبایل
۴- لاگین چند مرحلهای
۱- لاگین از طریق کلمهی عبور
احراز هویت از طریق رمز عبور هنوز هم متداولترین روش امنیتی است. ساده، آشنا و راحت است. کاربران با ایمیل یا نام کاربری (یا هر دو) ثبتنام میکنند و در صورت نیاز به دسترسی به سیستم، رمزعبور خود را ارائه میدهند.
مزایا
زیبایی ورود به سیستم با استفاده از گذرواژه در سادگی آن است. یک کاربر میتواند ادعا کند که یک هویت (نام کاربری یا ایمیل) دارد و با ارائه دادن رمز عبور مرتبط با آن هویت در سرور برنامه، این ادعا را تأیید کند.
یک مزیت اضافی دیگر نیز از طریق ثبتنام بهدست میآید. معمولا در این روش کاربران باید یک ایمیل معتبر ارائه دهند که از طریق آن روی لینک تأیید کلیک کنند. ممکن است برخی این موضوع را یک مانع اضافی برای ورود بدانند، اما این روش یک آدرس ایمیل تأیید شده به توسعهدهندگان میدهد. توسعهدهندگان میتوانند از این ایمیل به عنوان یک روش بازاریابی برای خدمات مالی و پیشنهادات آینده استفاده کنند. با پیشرفت و افزایش رویهی ارائهدهندگان خدمات ایمیل در فیلتر کردن اسپمها، الزام کاربر به باز کردن و انجام دادن عمل بر روی یک ایمیل به شما کمک میکند در لیست سفید بمانید.
معایب
یکی از معایبی که در این روش طراحی ورود به برنامه وجود دارد، این است که حافظهی کاربر را درگیر کرده و خواستههای خاصی از او تقاضا میکند. کاربران باید همزمان دو مسئله را در نظر داشته باشند: از سویی انتخاب رمزعبوری که یادآوری آن آسان باشد و از سویی دیگر این رمزعبور آنقدر ضعیف نباشد که بتوان آن را شکست یا حدس زد. یک رمزعبور امن و غیرقابل شکستن ممکن است به شکل یک رشتهی طولانی از اعداد، حروف بزرگ تصادفی یا شاید هم نشانهها باشد و اینها برای بیشتر افراد قابل یادآوری نیستند.
در نتیجه، کاربران غالباً اطلاعات ظاهراً بهیادماندنی خود را فراموش میکنند. بنابراین یک برنامه یا سرویس باید مکانیزمی داشته باشد که بتواند با کلمات عبور فراموش شده و یا رمزهای عبور قفل شده (به دلیل اشتباهات مکرر کاربران در وارد کردن رمزعبور) مواجه شود. این امر نیازمند به تلاش بیشتر در توسعه و نگهداری برنامه است.
به دلیل مشکلاتی که در بالا ذکر شد، کاربران اغلب از نرمافزارهای مدیریت رمزعبور و تیک زدن گزینههایی که به آنها امکان لاگین ماندن در سیستم را میدهد استفاده میکنند. اگرچه این موضوع میتواند انتخابی آگاهانه از سوی کاربر برای تجربهی نوعی کاربری یکدست و بدون معطلی باشد (به این دلیل که کاربر لازم نیست هربار رمزعبور را وارد کند). با این حال، اگر دستگاه به دست کسی که نباید بیافتد، سازوکار رمزورود به عنوان دانشی که فقط کاربر به آن آگاه است، کاملاً اعتبار خود را از دست میدهد.
مسئلهی دیگر "خستگی از بهخاطرسپردن رمزعبور" این است که کاربران معمولاً از رمزعبور یکسان برای برنامهها/سایتهای مختلف استفاده میکنند. با وجود رخنههای اطلاعاتی و هک کردنهای معمولی، اعتماد کردن به ایمیل و احراز هویت از طریق رمزعبور به این معنی است که بالا بودن سطح امنیت اپلیکیشن شما فقط میتواند به اندازهی سطح امنیت سایر سیستمهایی باشد که کاربران در آنها حساب کاربری دارند.
۲- لاگین از طریق شبکههای اجتماعی و لاگین از طریق اپلیکیشن ثالث
لاگین از طریق شبکههای اجتماعی بر پایهی اعتباری است که کاربر از لاگین بودن در شبکههای اجتماعی یا لاگین در یک اپلیکیشن ثالث دارد. این روش ورود به سیستم، میتواند یک گزینهی مناسب برای کاربران و توسعهدهندگان باشد. به این دلیل که برای ثبت نام، روشهای سادهای را که نیازی به تأیید اعتبار از طریق پر کردن فرم یا دسترسی به ایمیل ندارد را به کاربران ارائه میدهد.
مزایا
راحتی و سادگی لاگین فقط با یک کلیک، سبب بالا رفتن ثبتنامها میشود. این یک مزیت بزرگ و مسلماً بزرگترین دلیل رشد محبوبیت این روش است. علاوه بر این، کاربران از اینکه یک رمزعبور کمتر حفظ کنند، سپاسگزار خواهند بود. همچنین ورود به سیستم از طریق بستر یک رسانهی اجتماعی آشنا میتواند احساس امنیت بیشتری به آنها بدهد.
برای توسعهدهندگان، ورود به سیستم از طریق اپلیکیشن ثالث امکان دسترسی به انبوه دادهها را (مشروط به مجوزهای برنامه) فراهم میکند؛ ترجیحات کاربران، علایق، دوستان و رفتارهای آنلاین آنها منابع دادهای بسیار خوبی هستند. توسعهدهندگان میتوانند از این دادههای غنی بسته به مدل تجاری خود برای تحقیقات بازار یا تبلیغات هدفمند استفاده کنند.
رابطهای برنامهنویسی اپلیکیشن یعنی همان ای.پی.آی(API)های مورد نیاز برای دسترسی به پلتفرمهایی مانند فیسبوک، گوگل، اپل یا لینکدین عمدتا رایگان هستند و بعضیها براساس مقدار داده مورد نیاز شارژ میشوند. نکته مثبت دیگر این است که ورود به سیستم از طریق شبکههای اجتماعی بسیار مناسب موبایل و انبوه دستگاههای موجود با صفحه نمایش لمسی است.
معایب
اما دادههای بزرگ، مسئولیت بیشتری را نیز به همراه میآورد. استفاده از ورود به سیستم با استفاده از شبکههای اجتماعی توسعهدهندگان را ملزم به رعایت مسئولیتهای GDPR میکند. آنها همچنین باید با شیوههای خاص هر اپلیکیشن ثالث آشنا شوند. با توجه به یادداشتی مشابه، تکیهی تنها بر ورود به سیستم از طریق شبکههای اجتماعی یا اپلیکیشنهای ثالث ممکن است برنامه شما را از جامعهی همیشه در حال رشد افرادی که به دلیل مشکل اعتماد از شبکههای اجتماعی استفاده نمیکنند، محروم کند.
اعتماد به اپلیکیشنهای ثالث نیز خطر امنیتی دارد. حتی غولهای شبکههای اجتماعی نیز طی سالهای گذشته به سهم خود رخنههای دادهای داشتهاند. بنابراین ورود به سیستم از طریق شبکههای اجتماعی در نهایت دارای بسیاری از همان مشکلاتی هستند که با ورود به سیستم از طریق ایمیل و گذرواژهی سنتی ممکن است پیش بیایند.
یکی دیگر از مشکلات احتمالی دیگری که باید مدنظر قرار داد این است که بسیاری از سازمانها یا دانشگاهها دسترسی به رسانههای اجتماعی را مسدود میکنند. اتکای بیش از حد به این روشها به این معنی است که عملکرد سیستم شما به آنها بستگی دارد. بنابراین هر مشکلی در سرویسدهی آنها (یا محدودیتهای شبکهای اعمال شده توسط آنها) کاربران شما را از سیستم شما دور میکند.
نکتهای که برنامهنویسان باید از آن مطلع باشند این است که گزینهی ورود به سیستم از طریق اپلیکیشن ثالث برنامه IOS اپل (ورود به سیستم با اپل) برای برنامههای اپل استور تحت شرایط خاص اجباری است. هر برنامه با فیسبوک، گوگل یا سایر گزینههای ورود به سیستم از طریق شبکههای اجتماعی، باید ورود به سیستم اپل را نیز داشته باشد تا واجد شرایط فروش در اپل استور بشود.
در نهایت میتوان نتیجه گرفت که لاگین از طریق شبکههای اجتماعی در مقایسه با لاگین کردن از طریق گذرواژه:
· برای کاربران سریعتر و سادهتر از ثبت نام و ورود به سیستم از طریق ایمیل است.
· تعداد ثبتنامها را افزایش میدهد.
· برای ثبتنام UX سادهتری دارد.
· تعهدات GDPR را به دنبال دارد.
· نیاز به اعتماد به فناوری دیگران (اپلیکیشن ثالث) دارد.
· آدرس ایمیل کاربران کمتری برای اهداف بازاریابی وجود دارد.
۳- لاگین از طریق شماره موبایل
ورود به سیستم از طریق شماره موبایل روش ترجیحی شرکتهایی مانند اوبر(Uber)، لیفت(Lyft) و واتساپ(WhatsApp) است و در دنیای متحرک کنونی که همه چیز در آن به سمت موبایل پیش میرود، حرکتی منطقی به نظر میرسد. این روش یک روش ساده و موثر برای احراز هویت سریع کاربران بدون نیاز به فرمهای طولانی برای ثبت نام و ورود به سیستم است.
مزایا
ورود به سیستم از طریق شماره موبایل نسبت به ایمیل و گذرواژه یک مزیت متمایز دارد زیرا شماره تلفن میتواند شناسه بسیار منحصر به فردی باشد. کاربران میتوانند (و این کار را معمولا انجام میدهند) چندین آدرس ایمیل داشته باشند و یک ایمیل میتواند توسط چند نفر استفاده شود، اما از آنجا که ورود به سیستم از طریق شماره موبایل به یک شماره تلفن تأیید شده نیاز دارد که متعلق به یک نفر است، این داشتن تعدد شماره یا کاربر، هرچند غیرممکن نیست اما دشوارتر است.
یکی از بزرگترین مزایای این روش این است که کاربران برای ورود به سیستم از طریق شماره تلفن همراه نیازی به یادآوری رمز ورود ندارند و تا زمانی که بتوانند پیامکی دریافت کنند، همیشه میتوانند وارد سیستم شوند.
همچنین اگر داشتن جزئیات موقعیت جغرافیایی برای عملکرد برنامه شما ضروری است، ورود به سیستم از طریق تلفن همراه میتواند گزینهی مفیدی باشد.
معایب
شماره تلفنها تغییر میکنند. افراد، مشاغل، صنایع یا کشورها را ترک میکنند و شماره تلفن خود را تغییر میدهند. اگر این تنها روش ورود به سیستم باشد، انتقال حسابها پیچیدهتر از حد معمول است. آدرس ایمیل یا اکانت رسانههای اجتماعی موارد دائمیتری هستند که کاربران علیرغم تغییر شرایط، تمایل به حفظ آنها دارند.
به همین دلایل، ورود به سیستم از طریق شماره تلفن همراه، معمولا بهترین استفاده را به عنوان گزینهی امنیتی ثانویه یا اضافی پیدا میکند. اما این روش کاملا بدون درز نیست. یک مشکل در مورد ورود به سیستم از طریق تلفن همراه این است که گاهی هکرها با فوروارد کردن سرویس به تلفنی دیگر و رهگیری پیامکهای ارسالی به آن تلفن، قادر به شکستن این لایهی امنیتی میشوند.
۴- لاگین چند مرحلهای
احراز هویت چند عاملی یا چند مرحلهای (MFA) برای ورود موفقیتآمیز به سیستم به بیش از یک روش ورود نیاز دارد. به طور معمول، این روش به صورت احراز هویت دو مرحلهای است که به آن 2FA نیز میگویند. یک مثال از 2FA جایی است که کاربر با یک آدرس ایمیل به سیستم وارد میشود و قبل از دستیابی به حساب باید هویت خود را با کدی که به دستگاهی دوم مانند تلفن همراه ارسال میشود، تأیید کند.
مزایا
مهمترین نقطهی قوت لاگین چندمرحلهای امنیت آن است. لایهی دوم امنیتی با محافظت اضافی، در برابر رمزهای عبور ضعیف یا به خطر افتاده عمل میکند و در صورت از دست رفتن دستگاه یا افتادن آن به دست شخصی دیگر، لایهی اول این نقش را برعهده میگیرد.
بسته به بازاری که می خواهید به آن بپردازید، ممکن است استفاده از احراز هویت چند مرحلهای از نظر قانونی برای شما اجباری باشد. برای مثال بند ۴ مادهی 30 دستورالعمل سرویسهای پرداخت برای انگلستان و شرکتهای اروپایی موسوم به PSD2 احراز هویت قوی مشتری (SCA) را برای بازرگانان تجارت الکترونیکی الزامی میداند.
این امر منجر به اتخاذ انواع روشهای احراز هویت چند مرحلهای (MFA) شده است؛ مانند ارسال لینک یا پین کد موقتی که از طریق پیامک ارسال میشود یا اعلانهایی که به کاربران دربارهی فعالیت حساب هشدار میدهند. از دیگر راههکارهای این روش میتوان به استفاده از اپلیکیشنهای احراز هویت ثالث اشاره کرد که گذرواژههای موقت یا QR کدهایی ارائه میدهند که اجازه دسترسی به سیستم را ممکن میکنند.
از سایر روشهای MFA موجود میتوان به احراز هویت از طریق تصویر شبکیه چشم، روشهای احراز هویت بیومتریک یا استفاده از اثر انگشت اشاره کرد. با این حال، هزینههای این روشها ممکن است برای برخی سنگین باشد.
معایب
اغلب اوقات، احراز هویت چند مرحلهای به دستگاه دوم نیاز دارد. در صورت قفل شدن، جا گذاشتن یا گم کردن دستگاه این مسئله میتواند برای برخی از کاربران ایجاد مشکل کند.
به دلیل وجود مراحل اضافی در احراز هویت چند مرحلهای، تجربه کاربری میتواند پیچیدهتر شود. علاوه بر وقت و مراحل اضافی مربوط به این روش ورود، بازیابی اکانت مشروط به ارائه دادن هویت دوم است. در این صورت، اگر کاربر در صورت حمله یا فعالیت مشکوک این دومین ارائه دهنده هویت را فراموش کند یا از دست بدهد، ممکن است به طور کامل دسترسی به سیستم را از دست بدهد.
آسیبپذیریهایی در رابطه با لایه دوم سیستم احراز هویت چندمرحلهای وجود دارد که باید در نظر گرفته شوند. توکنهای سختافزاری را میتوان توسط هکهایی که عواملی مانند صدا، چشم و اثر انگشت را تقلید میکنند، سرقت کرد. برای چالشی کردن بیشتر امنیت، چرخش حول محور چندین فاکتور مختلف توصیه میشود.
اگرچه احراز هویت چند مرحلهای یک لایهی اضافی از محافظت را با روشهای معمول فراهم میکند، این یک راه حل کاملا بیخطر نیست.
چطور یک UX مناسب برای هر روش طراحی کنیم
تعداد بینهایت روش برای طراحی صفحه ثبتنام برنامه وجود دارد. با این حال، بیشتر برنامهها معمولاً مایلاند از تعداد کمی از استانداردهای معمول UI استفاده کنند. در اینجا چند نکته وجود دارد که باید هنگام طراحی صفحه ورود به برنامه خود در نظر بگیرید:
· طراحی UX برای ثبتنام از طریق گذرواژه و ایمیل
- از کاربر بخواهید رمز عبور خود را تأیید کند (آن را دو بار تایپ کند) تا احتمال اشتباه تایپی کاهش یابد.
- به یاد داشته باشید که از کاربر بخواهید با شرایط و ضوابط شما موافقت کند.
- ویژگی بازیابی/بازنشانی گذرواژه را فراموش نکنید.
- ثبت نامهای طولانی/فرمهای ثبتنام طولانی را در چند مرحله انجام دهید.
- به جای اینکه از کاربر بخواهید گذرواژهاش را بخاطر بسپارد خودتان میتوانید این کار را از طریق فرستادن یک ایمیل حاوی لینک ورود به سیستم برای او، به سادگی انجام دهید.
- عناصر صفحه را طوری بچینید که فضای مناسبی برای صفحه کلید در اختیار کاربر باشد و کاربر به آسانی بتواند بین این عناصر جابجا شود و صفحه کلید برایش مزاحمت ایجاد نکند.
- از کاربر اطلاعاتی را که کاملاً به آن نیازی ندارید، درخواست نکنید. هرچه فیلدهای بیشتری را از او بخواهید، احتمال تکمیل ثبتنام توسط او را کاهش میدهید.
· طراحی UX برای لاگین از طریق شبکههای اجتماعی یا اپلیکیشن ثالث
- مانند فیسبوک، گوگل و اپل به اصول اولیه پایبند باشید. هزینهی فعالکردن مقدار زیادی گزینهی مبهم بیشتر از ارزش اولیهی آنها است.
- مطمئن شوید که ورود به سیستم فقط با یک کلیک انجام میشود (به علاوه ورود به شبکه اجتماعی در صورت نیاز). در واقع مهمترین امتیاز فعالکردن ورود به سیستم از طریق شبکههای اجتماعی کاهش موانع ورود و افزایش تعداد ثبتنام است.
- اطمینان حاصل کنید که در صورتی که کاربر سعی کرد به جای استفاده از ایمیل شبکههای اجتماعی از طریق ایمیل دیگری وارد سیستم شود، به طور خودکار او را به لاگین شبکههای اجتماعی هدایت میکنید.
· طراحی UX برای لاگین از طریق شماره موبایل
- مطمئن شوید که کاربر در صورت عدم دریافت پیامک کد تایید، بتواند برای دریافت کد تایید جدید پیام مجدد ارسال کند.
- وقتی کاربر آخرین رقم کد تایید خود را وارد کرد، میتوانید بدون اینکه از کاربر بخواهید که دکمهی "بعدی" یا "ادامه" را کلیک کند، به طور خودکار کد را تایید کنید.
- مطمئن شوید که کدهای کشور و فرمت شماره تلفن همراه را به طرز مطلوبی ارائه میکنید تا کاربر در مورد نحوه وارد کردن شماره تلفن خود مجبور به حدس زدن نشود.
· طراحی UX برای احراز هویت چندمرحلهای
- اطمینان حاصل کنید که پیچیدگی ورود به سیستم متناسب با الزامات امنیتی برنامه است. نیاز به کد تایید، شماره موبایل، اثر انگشت و احراز هویت از طریق اپلیکیشن ثالث فقط برای ورود به سیستم عملی افراطی است و کاربران آن را تحمل نخواهند کرد.
- گزینههای بازیابی را برای کاربرانی که شماره تلفن خود را تغییر میدهند یا کدها و غیره را فراموش میکنند فراهم کنید.
انتخاب روش صحیح ورود به برنامه به عوامل مختلفی بستگی دارد به خصوص به موقعیت شما و اینکه چه اطلاعاتی از کاربر را در نظر دارید که نگه دارید یا استفاده کنید. امنیت شدیدتر میتواند منجر به تجربهی کاربری پیچیدهتری شود. با این حال با توجه به قانونهای الزامی موجود برای ساز و کارهای پرداخت آنلاین، برخی از روشهای فوق برای اکثر کاربران شناخته شده و آشنا به نظر میرسند.
مطلبی دیگر از این انتشارات
به عنوان مدیر محصول چه کارهایی را باید در ماه اول ورود به یک سازمان انجام دهیم؟
مطلبی دیگر از این انتشارات
به دنبال تعریفی شفاف و جامع از مفهوم مدیریت محصول
مطلبی دیگر از این انتشارات
آموزش UI/UX : با میکرواینترکشن ها قدرت بگیرید!