احراز هویت بدون رمز چیست و چگونه می توان آن را پیاده سازی کرد
Authentication بدون رمز عبور یک روش مدیریت کاربر است که در آن کاربر بدون استفاده از رمز عبور یا رمز وارد سیستم یا برنامهای میشود. . به جای استفاده از یک عامل مبتنی بر دانش (مثلاً رمز عبور)، هویت کاربر را با عوامل مالکیت (مانند حساب ایمیل) یا ذاتی تأیید میکند. > عوامل (مثلاً تشخیص چهره). این مقاله با مشارکت Frontegg ایجاد شده است. از شما برای حمایت از شرکای که SitePoint را ممکن می کنند، سپاسگزاریم. طراحی سایت
روش های احراز هویت بسیاری وجود دارد که به عنوان جایگزینی برای رمز عبور استفاده می شود:
- کد یکبار مصرف (OTC)
- پیوندهای جادویی
- ورود بیومتریک (اثر انگشت، FaceID، تشخیص صدا)
- کارتهای هوشمند یا نشانههای فیزیکی
- گواهینامه های دیجیتال
محبوبیت احراز هویت بدون رمز عبور
شما ممکن است در حال حاضر بدون اطلاع از “احراز هویت بدون رمز عبور” استفاده کرده باشید. بسیاری از برنامه های بانکی از اثر انگشت و تشخیص صدا برای تایید کاربران استفاده می کنند. Slack به طور معروف از لینک های جادویی برای احراز هویت کاربران استفاده می کند.
استفاده از احراز هویت بدون رمز عبور در چند سال گذشته به طور پیوسته افزایش یافته است. Auth0، یک ارائهدهنده احراز هویت، پیشبینی میکند که تا سال 2027 اعتبار بدون رمز عبور از گذرواژه پیشی خواهد گرفت. الف>. گارتنر پیشبینی کرد که تا سال 2022 60% شرکتهای بزرگ و جهانی و 90 درصد شرکتهای متوسط، روشهای بدون رمز عبور را در بیش از 50 درصد موارد استفاده میکنند – از 5 درصد در سال 2018.
بازیکنان بزرگ در وب نیز تمام تلاش خود را برای تسریع پذیرش فناوری انجام می دهند. در روز جهانی رمز عبور در سال 2022، گوگل، مایکروسافت و اپل برنامه های خود را برای گسترش پشتیبانی از استاندارد مشترک ورود بدون رمز ورود ایجاد شد.
در ژوئن 2022، اپل ویژگی “Passkeys” برای ورود به سیستم وب سایت ها و برنامه ها این اعلامیه اساسا به این معنی است که اپل از Touch ID یا Face ID برای ایجاد یک کلید دیجیتال برای آن وب سایت استفاده خواهد کرد. این نیاز به ایجاد و نوشتن رمز عبور را برطرف می کند.
معرفی سایت: https://garch98.ir/تنها-راه-فروش-طراحی/
مزایای احراز هویت بدون رمز عبور
احراز هویت بدون گذرواژه مزایای امنیت و تجربه کاربر را فراهم میکند:
- خطر سرقت رمز عبور و فیشینگ را کاهش میدهد: کاربران مستعد حملات فیشینگ نیستند، جایی که به وبسایتهای جعلی برده میشوند و اعتبار ورود خود را وارد میکنند. اگر کاربر رمز عبور وارد نکند، در برابر حملات brute-force_attack”>حملات brute force، نقض داده های رمز عبور آسیب پذیر نخواهد بود. انواع دیگر سرقت مدارک
- استفاده مجدد از اعتبارنامه را کاهش میدهد: استفاده مجدد از گذرواژهها در چندین سرویس و حساب، خطر بیشتری برای کاربران و سیستمهای شما ایجاد میکند که قابل پیشگیری نیست. گزارش کرد که 64 درصد از افراد از رمز عبور یکسانی استفاده کردند که در یک نقض برای حساب های دیگر وجود داشت.
- دیگر تمرین حافظه وجود ندارد: کاربران شما نیازی به به خاطر سپردن نام کاربری و رمز عبور حسابهای بسیاری ندارند. گاهی اوقات مجبور می شوند پس از چندین بار تلاش برای ورود ناموفق، رمز عبور خود را دوباره و دوباره تنظیم کنند.
- ورود سریعتر: همه ما مشغول هستیم. یک رمز عبور قوی پیشنهاد می شود که حداقل 16 کاراکتر داشته باشد و در مقایسه با اسکن اثر انگشت یا باز کردن پیوند جادویی، زمان زیادی برای تایپ آن نیاز است.
محدودیت های احراز هویت بدون رمز عبور
احراز هویت بدون رمز عبور کامل نیست و از نظر امنیت و تجربه دارای محدودیتهایی است.
- تجربه کاربری ناآشنا: بسیاری از افراد به وارد کردن یا تکمیل خودکار رمز عبور عادت دارند. تغییر به لینک جادویی یا OTC می تواند برای کاربران شوک باشد.
- خطرات دستگاههای دزدیده شده یا تعویض سیمکارت: ارسال کدهای یکبار مصرف از طریق پیامک میتواند کاربران شما را در صورت دزدیده شدن تلفن یا قربانی شدن کلاهبرداری تعویض سیم کارت.
- امنیت بیومتریک کامل نیست: اسکنرهای اثر انگشت، TouchID و FaceID در طول سال ها با موفقیت هک شده اند.
تکیه به هر عامل واحدی برای احراز هویت، اعم از رمز عبور یا نبودن، همیشه سطحی از خطر را به همراه دارد. توصیه می کنیم در صورت امکان همیشه از تأیید هویت چند عاملی (MFA) استفاده کنید.
آیا احراز هویت بدون رمز عبور ایمن است؟
بله، احراز هویت بدون رمز عبور ایمن در نظر گرفته میشود، اما کاملاً بدون خطر نیست. یک حساب کاربری بدون رمز عبور نباید نگران افتادن آن رمز عبور به دست یک فرد مخرب باشد. این اتفاق میتواند از طریق نقض دادهها، هکهای brute force، گم شدن دستگاهها یا یادداشتهای ارسالی نابجا رخ دهد.
بسیاری از خطرات مرتبط با احراز هویت بدون رمز عبور به طور مشابه برای روشهای دیگر اعمال میشود.
اگر یک هکر به حساب ایمیل شما دسترسی داشته باشد و شما از Magic Links برای احراز هویت بدون رمز عبور استفاده می کنید، آنها می توانند به راحتی وارد سیستم شوند. با این حال، اگر از رمز عبور معمولی استفاده کنید، این خطر یکسان است. بازیگر بد فقط باید روی «تنظیم رمز عبور» کلیک کند و پیوند بازنشانی را به همان آدرس ایمیل ارسال کند.
در نهایت، درست مانند هر سیستم دیگری، یک سیستم احراز هویت بدون رمز عبور نیز در برابر حملات مستقیم برای براندازی یا دور زدن اقدامات امنیتی آسیب پذیر است. مهم نیست که چقدر ایمن عمل می کنید، سیستم هایی که اعتبار شما را ذخیره و تأیید می کنند هرگز کاملاً ایمن نیستند.
تأیید اثر انگشت، و سایر عوامل بیومتریک، بسیار سختتر است، اما غیرممکن نیست که بتوان آن را فریب داد و راهی بسیار امن برای مجوز دادن به خود ارائه میکند.
احراز هویت بدون رمز در مقابل احراز هویت چند عاملی (MFA)
احراز هویت چند عاملی روشی برای استفاده از چندین عامل احراز هویت هنگام ورود به سیستم است. یک اتفاق بسیار رایج در هنگام ورود به یک حساب کاربری با نام کاربری و رمز عبور و سپس ارسال یک کد یکبار مصرف 6 رقمی (OTC) است. برای تأیید مالکیت دستگاه
در این مثال، فاکتور OTC بدون رمز عبور است. درعوض، اگر قرار بود از اثر انگشت و کد یکبار مصرف استفاده کنید، یک راهاندازی MFA کاملاً بدون رمز عبور دارید.
نحوه اجرای احراز هویت بدون رمز عبور در وب سایت شما
ادغام اعتبار بدون رمز عبور در برنامه یا وب سایت شما آسان تر از همیشه است. بسته به زیرساخت موجود شما، اکنون گزینه های زیادی برای انتخاب وجود دارد:
- راه حل های مدیریت کاربر: این ارائه دهندگان خدمات کاملاً مدیریت شده را ارائه می دهند که نه تنها احراز هویت سنتی و بدون رمز عبور را ارائه می دهد، بلکه مدیریت کاربر و مدیریت مجوزها را نیز ارائه می دهد.
- زمان استفاده: سیستمهای جدید، راهاندازیها و تیمهایی که به دنبال اجتناب از همه کارهای توسعه کم ارزش و ریسک بالا هستند، جدید است.
- زمان استفاده نکردن: اگر مجموعه بسیار سفارشی احراز هویت یا الزامات مدیریت کاربر دارید که ممکن است با سیستم آنها مطابقت نداشته باشد.
- ارائهدهندگان: Frontegg، Okta/Auth0، FusionAuth، Trusona، AppWrite
- ارائهدهنده خدمات احراز هویت: این سرویسها احراز هویت کاربر، مدیریت دسترسی و سایر خدمات مانند مدیریت جلسه را ارائه میدهند.
- زمان استفاده: شما سرویسهای مدیریت کاربر موجود دارید و میخواهید شخصی از گذرواژهها و احراز هویت مراقبت کند.
- زمان استفاده نکردن: تجربه یا منابع محدودی در توسعه دارید. اگر یک مدل مدیریت هویت و دسترسی ساده دارید، ممکن است بخواهید یک راه حل کامل مدیریت شده را همانطور که در بالا ذکر شد در نظر بگیرید.
- ارائه دهندگان: AWS Cognito، Google Identity Platform، Microsoft Azure AD
احراز هویت بدون رمز عبور با React – Speedrun
برای نشان دادن اینکه معرفی روشهای بدون رمز عبور برای کاربرانتان چقدر آسان است، میخواهیم شما را در یک آموزش ۵ دقیقهای با ارائهدهندهای به نام Frontegg راهنمایی کنیم. یک پلتفرم مدیریت کاربر خودسرویس و پایان به انتها که در میان سایر ویژگی های مدیریت کاربر، چند روش ورود بدون رمز عبور را ارائه می دهد.
ایجاد خدمات ورود به سیستم و احراز هویت بسیار وقت گیر است و ارزشی به جریان کاربر اضافه نمی کند، اما اگر اشتباه متوجه شوید می تواند مضر باشد. از آنجایی که خدماتی که احراز هویت را ارائه میدهند بهتر و ارزانتر میشوند، نباید دلایل زیادی برای ایجاد سیستمهای اعتبارسنجی رمز عبور خود برای برنامههایتان وجود داشته باشد.
-
حساب Frontegg رایگان خود را ایجاد کنید
حساب Frontegg خود را از طریق وب سایت آنها ایجاد کنید. مطمئن شوید که کد جادویی یا پیوند جادویی را بهعنوان گزینههای بدون رمز عبور خود در طول فرآیند ورود انتخاب کردهاید!
-
فرآیند یکپارچه سازی را شروع کنید
پس از ایجاد کادر ورود به سیستم و انتخاب روشهای بدون رمز عبور، گزینهای برای Publish to Dev را مشاهده خواهید کرد.
Frontegg از محیطها (Dev، QA، Staging، Production) با زیردامنهها، کلیدها و آدرسهای اینترنتی برای محیطهای احراز هویت شما.
اکنون به صفحهای با چند کد نمونه هدایت میشوید و مهمتر از آن، «baseURL» و «clientID» شما. این صفحه را باز بگذارید و برای مرحله بعدی به IDE خود بروید.
-
برنامه React را ایجاد کنید (این را رد کنید زیرا قبلاً برنامه خود را دارید)
در ترمینال خود دستورات زیر را تایپ کنید تا یک برنامه Reactreact جدید ایجاد کنید و به دایرکتوری جدید بروید.
npx create-react-برنامه برنامه-با- پیشانی
برنامه سی دی-با-frontegg
-
-
Frontegg را نصب و وارد کنید
-
برای نصب کتابخانه Frontegg React و react-router دستور زیر را اجرا کنید. اگر از قبل در برنامه شما نصب شده باشد، می توانید از نصب روتر react صرفنظر کنید.
npm نصب @frontegg/react react-روتر-dom
-
تنظیمات ورود را پیکربندی کنید
در فایل src/index.js
، کد زیر را اضافه کنید. سپس به صفحه Frontegg خود برگردید و «baseUrl» و «clientID» را از نمونههای کد پیدا کنید.
توجه: این مقادیر را همیشه میتوان در بخش مدیریت فضای کاری شما پیدا کرد، پس از تکمیل این جریان ورود.
وارد کردن واکنش از 'react';
وارد کردن ReactDOM از 'react-dom';
وارد کردن برنامه از './App';
وارد کردن './index.css';
وارد کردن { FronteggProvider } از '@ frontegg/react';
const contextOptions = {
baseUrl: '## URL BASE شما ##'،
clientId: '## شناسه مشتری شما ##'
};
ReactDOM.رندر (
FronteggProvidercontextOptions={contextOptions} hostedLoginBox= {درست}>
برنامه />
/FronteggProvider>،
سند.getElementById('root')
)؛
-
برای ورود به سیستم هدایت شوید
با استفاده از قلاب Frontegg useAuth، می توانید تعیین کنید که آیا یک کاربر احراز هویت شده است یا خیر. اگر کاربر احراز هویت نشده است، میتوانید از طریق قلاب useLoginWithRedirect کاربر را به ورود به سیستم هدایت کنید (همانطور که نمونه زیر نشان میدهد).
وارد کردن ' ./App.css';
وارد کردن { ContextHolder } از '@ frontegg/rest-api';
وارد کردن {
useAuth، useLoginWithRedirect
} از "@frontegg/react";
عملکرد برنامه() {
const { کاربر، isAuthenticated } = useAuth( );
const loginWithRedirect = useLoginWithRedirect();
const خروج = () => {
const baseUrl = ContextHolder.getContext().baseUrl;
پنجره.مکان.href = `${baseUrl}/oauth/logout` +
`?post_logout_redirect_uri=` +
`$ {پنجره.مکان }`;
};
بازگشت (
div className="برنامه">
{ دارای اعتبار است ؟ (
div>
div>
img src={کاربر؟.profilePictureUrl}
alt={کاربر?.name}
/>
/div>
div>
span>ورود به سیستم در به عنوان: { کاربر؟.name}/span>
/div>
div>
button onClick={() => هشدار(کاربر.accessToken)}>
نشانه دسترسی من چیست؟
/button>
/div>
div>
button onClick={() => خروج()}>
برای خروج کلیک کنید
/button>
/div>
/div>
) : (
div>
button onClick={() => loginWithRedirect()}>
وارد شدن
/button>
/div>
)}
/div>
);
}
صادرات پیشفرض برنامه;
-
وارد سیستم شوید
npm start
را اجرا کنید یا http://localhost:3000 را در مرورگر خود باز کنید و روی دکمه ورود
. شما باید صفحات ورود و ثبت نام جدید ایجاد شده خود را ببینید.
توجه داشته باشید، هیچ فیلد رمز عبوری در اینجا وجود ندارد 🎉
روی Sign Up کلیک کنید، به ایمیل خود بروید و روی Activate my Account کلیک کنید.
وقتی میخواهید وارد شوید، فقط باید ایمیل خود را وارد کنید، منتظر بمانید تا کد شش رقمی وارد شود و وارد شوید. بدون رمز عبور، جای نگرانی نیست.
نتیجه گیری
امیدوارم این راهنمای احراز هویت بدون گذرواژه به شما کمک کرده باشد نه تنها درک کنید که این فناوری چقدر قابل دسترس است، بلکه در چند سال آینده چقدر اهمیت دارد.
منبع: https://iransite.com