احتمالا شما هم با چالش تایید هویت کاربران مواجه شده اید.
معمولا اپلیکیشن های وبی که میسازیم نیاز به تایید هویت کاربران دارند. روند ایجاد یک تایید هویت استاندارد خیلی ناچیز نیست و من بارها فرآیند ثبت نام و لاگین رو ساختم.
خبر خوب اینه که ماژول های جاوا اسکریپت موجود هستند که این وظایف رو برعهده می گیرند. Passport معمول ترین پکیج npm برای انجام تایید هویت کاربران هست.
هنوز وقتی از Passport هم استفاده کنید شما مجبورید از این حلقه ها عبور کنید :
- راه اندازی جداول دیتابیس ها
- ساخت middleware
- راه اندازی Session ها برای ذخیره سازی اطلاعات کاربر وارد شده
- تنظیم Passport برای کار کردن با اپلیکیشن
- ساخت صفحات login, signup, reset password
- ساخت روند فراموشی پسورد
- افزودن سایر سرویس های oauth مثل توئیتر
من ترجیح میدم منطق اصلی اپلیکیشنم رو بسازیم و نگران بخش تایید هویت نباشم.
پس امروز, میخوام یک پروژه متن باز به اسم Bedrock رو معرفی کنم. Bedrock یک اپلیکیشن آماده Node به همراه تایید هویت کاربران رو فراهم میکنه.
ویژگی ها
اینجا درمورد چند تا از ویژگی های Bedrock صحبت می کنیم :
- یک سرور (Sails (Express با تایید هویت کاربر
- تولید خودکار REST API برای تمام مدل ها
- صفحات Singup,Login,Reset Password
- پشتیبانی ایمیل SMTP
- صفحات رندر شده ی سمت سرور
- ارتباطات بین React و API سمت سرور با Flux
- مسیریابی سمت کلاینت با React Router
- ساخت افزایشی با Webpack
- استفاده از Migration برای روند کاری دیتابیس
- سرویس های آماده مثل توکن دسترسی API, محافظ CSRF و CORS
- پشتیبانی چند محیطی (dev,prod,stage)
راه اندازی
اینجا میخواهیم یک شروع سریع با ماژول Bedrock داشته باشیم. اول باید reposetory رو در یک مسیر پروژه جدید clone کنید سپس npm install :
git clone git@github.com:tilomitra/bedrock.git <project-name>
cd <project-name>
npm install
سپس فایل config/connections.js رو باز کرده و اطلاعات اتصال دیتابیس رو آپدیت کنید.
حالا دستور migration رو برای ساخت جداول مرتبط دیتابیس اجرا کنید :
grunt db:migrate:up
و فایل های CSS و JS رو بسازید :
grunt build
درنهایت سرور رو اجرا کنید. شما به صفحه ی ثبت نام هدایت می شوید :
sails lift
تمام شد! همینطور که مشاهده می کنید فرآیندهای ثبت نام و وارد شدن و فراموشی پسورد آمادست.
دیدگاه و پرسش
در حال دریافت نظرات از سرور، لطفا منتظر بمانید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید