Ninja Learn | نینجا لرن
1.26K subscribers
101 photos
38 videos
11 files
313 links
یادگیری برنامه نویسی به سبک نینجا 🥷
اینجا چیزایی یاد میگیری که فقط نینجاهای وب‌ بلدن 🤫

📄 Send me post: https://t.iss.one/NoronChat_bot?start=sec-fdggghgebe

👥 ɢʀᴏᴜᴘ: https://t.iss.one/+td1EcO_YfSphNTlk
Download Telegram
💎 احرازهویت Authentication در جنگو 💎

امروز می‌خوام در مورد یکی از مهم‌ترین مباحث دنیای وب، یعنی Authentication یا همون احراز هویت در جنگو (Django) صحبت کنم. 🛡️ اگر توسعه‌دهنده وب هستیدقطعا می‌دونید که چقدر این موضوع مهمه! پس بیاید بدون معطلی بریم سر اصل مطلب! 🚀

1⃣ احراز هویت ساده (Simple Authentication) 🆔
این ساده‌ترین نوع احراز هویت توی جنگوئه. به طور پیش‌فرض جنگو یک سیستم احراز هویت داخلی داره که کاربرا رو با استفاده از نام کاربری و رمز عبور وارد سیستم می‌کنه. این روش بیشتر برای پروژه‌های کوچیک و ساده مناسبه.

چطوری پیاده‌سازیش کنیم؟ 🤔
اول باید توی تنظیمات پروژه، app مربوط به احراز هویت جنگو (django.contrib.auth) رو فعال کنید.
بعدش می‌تونید با استفاده از فرم‌های پیش‌فرض یا ساخت فرم‌های خودتون، کاربرا رو ثبت نام و وارد سیستم کنید.


2⃣ احراز هویت با توکن (Token
Authentication) 🔑
این روش مخصوص زمانی هست که شما دارید یه API می‌سازید و می‌خواید کاربرانتون با استفاده از توکن بهش دسترسی پیدا کنن. توی این روش، به جای نام کاربری و رمز عبور، یک توکن به کاربر داده می‌شه که باید اون رو توی هدر درخواست‌ها قرار بده.


چطور پیاده‌سازیش کنیم؟🤔
از کتابخونه‌های مثل Django Rest Framework استفاده کنید.
بعدش با استفاده از TokenAuthentication و صدور توکن برای هر کاربر، می‌تونید این روش رو پیاده کنید.


3⃣ احراز هویت JWT (JSON Web Token
) 📜
خب JWT یه نوع خاص از توکنه که اطلاعات کاربر رو داخل خودش ذخیره می‌کنه. این نوع توکن‌ها خیلی امن و پرکاربرد هستن و به خصوص برای پروژه‌های SPA (Single Page Application) خیلی مناسبن.


چطور پیاده‌سازیش کنیم؟🤔
از کتابخونه‌های مثل djangorestframework-simplejwt استفاده کنید.
بعدش با پیکربندی صحیح، می‌تونید توکن‌های JWT رو برای کاربران صادر و اعتبارسنجی کنید.


4⃣ احراز هویت با OAuth 2.0 🌐
این روش بیشتر برای وقتی مناسبه که می‌خواید کاربرانتون با حساب‌های شبکه‌های اجتماعی یا سرویس‌های دیگه مثل گوگل و فیسبوک وارد سایت بشن. OAuth 2.0 یه پروتکل امن برای این نوع احراز هویته.

چطور پیاده‌سازیش کنیم؟ 🤔
از کتابخونه django-allauth یا social-auth-app-django استفاده کنید.
بعدش با انجام تنظیمات مربوطه، می‌تونید کاربران رو از طریق سرویس‌های مختلف احراز هویت کنید.


5⃣ احراز هویت دو مرحله‌ای (Two-Factor Authentication) 🔐
اگه می‌خواید امنیت بیشتری برای کاربران فراهم کنید، می‌تونید احراز هویت دو مرحله‌ای رو پیاده کنید. توی این روش، علاوه بر رمز عبور، یه کد تایید هم برای کاربر ارسال می‌شه که باید اون رو وارد کنه.


چطور پیاده‌سازیش کنیم؟ 🤔
از کتابخونه django-two-factor-auth استفاده کنید.
بعد از تنظیمات اولیه، می‌تونید این قابلیت رو به اپلیکیشن خودتون اضافه کنید.



جمع‌بندی 🧩
هر کدوم از این روش‌ها کاربرد خاص خودشون رو دارن و بسته به نیاز پروژه، می‌تونید یکی یا چند تا از این‌ها رو پیاده کنید. امنیت توی دنیای وب خیلی مهمه، پس به هیچ وجه ازش غافل نشید! 🕵️‍♂️

اگه سوالی دارید یا نیاز به کمک بیشتر دارید، حتما بپرسید. 💬

پست بعدی رو هم از دست ندید که می‌خوام در مورد Authorization صحبت کنم. 😉

#authentication #auth #django #backend


@ninja_learn_ir
👍103🤯1
💎 هدر Authentication چیه و چطوری ازش استفاده کنیم؟ 💎

امروز می‌خوایم درباره هدر Authentication صحبت کنیم، چیزی که اپلیکیشن‌های وب برای احراز هویت (Authentication) استفاده می‌کنن و توی دنیای APIها خیلی کاربرد داره 😎.

هدر Authentication چیه؟ 🤔
هدر Authentication یه هدر HTTP هست که اطلاعات لازم برای احراز هویت کاربر رو توی درخواست‌ها به سرور می‌فرسته. این هدر کمک می‌کنه که سرور بفهمه چه کسی داره درخواست رو می‌فرسته و اینکه اجازه دسترسی به منابع مختلف رو داره یا نه 🔐.

انواع هدر Authentication 🛡️

Basic Authentication 🔑
این ساده‌ترین نوع Authentication هستش. توی این روش، نام کاربری و پسورد به‌صورت base64 رمزگذاری میشن و بعد توی هدر قرار می‌گیرن. نمونه‌ای از هدرش این شکلیه:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

ولی چون اطلاعات رو به‌صورت ساده (حتی با وجود base64) می‌فرسته، خیلی امن نیست و معمولاً توی HTTPS ازش استفاده می‌کنن.


Bearer Token 🏷️
توی این روش، از یه توکن (Token) به‌جای نام کاربری و پسورد استفاده می‌کنن. این توکن معمولاً وقتی کاربر لاگین می‌کنه، از سرور می‌گیره و بعد توی درخواست‌ها به‌عنوان هدر ارسال میشه. هدرش این شکلیه:
Authorization: Bearer your-token-here 

این روش خیلی امن‌تر و محبوب‌تره، مخصوصاً توی API‌های مدرن و استفاده از JWT (JSON Web Tokens).

OAuth 2.0 🔑
این روش بیشتر برای احراز حویت با استفاده از سرویس‌های بزرگی مثل گوگل و فیسبوک استفاده میشه. توی این مدل، شما یه Access Token از طرف سرویس‌دهنده می‌گیرید و بعد اون رو توی هدر می‌فرستید. خیلی شبیه به Bearer Token:
Authorization: Bearer access-token 


چطوری از هدر Authentication استفاده کنیم؟ 💻
فرض کن یه API داری که برای دسترسی به یه سری اطلاعات حساس نیاز به احراز هویت داره. برای اینکه کاربر بتونه به این اطلاعات دسترسی داشته باشه، باید توی درخواستش هدر Authentication رو به‌درستی تنظیم کنه.

مثلاً برای ارسال یه درخواست به API با استفاده از Bearer Token:
curl -H "Authorization: Bearer your-token-here" https://api.example.com/data 


چرا هدر Authentication مهمه؟ 🛠️

1⃣ امنیت اطلاعات:
این هدر به سرور کمک می‌کنه مطمئن بشه که درخواست از یه کاربر معتبر ارسال شده.

2⃣ مدیریت دسترسی:
با استفاده از این هدر، می‌تونی سطح دسترسی‌های مختلف رو برای کاربرها تنظیم کنی. مثلاً بعضی کاربران فقط به بخش‌هایی از اپلیکیشن دسترسی داشته باشن.

3⃣ یکپارچگی با API:
خیلی از APIها مثل REST و GraphQL نیاز دارن که کاربر با ارسال هدر Authentication خودش رو احراز هویت کنه.

جمع‌بندی 🎯
فهمیدیم هدر Authentication یکی از پرکاربردترین ابزارها برای احراز هویت توی وب و APIهاست. روش‌های مختلفی برای استفاده ازش وجود داره، مثل Basic، Bearer Token و OAuth که بسته به نیازت می‌تونی از هرکدومشون استفاده کنی.

امید وارم مفید بوده باشه :)

#authentication #headers #security


@ninja_learn_ir
8👍1🔥1