جستجو برای:
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
 
  • 09921632445
  • radioarsam[at]gmail.com
  • فروشگاه محصولات
  • بلاگ
  • تماس با ما
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایت
  • خانه
  • دوره و کتاب
  • مقالات
    • خانواده جاوا اسکریپت
      • مقالات جاوا اسکریپت
      • مقالات ری اکت و نکست
      • هوش مصنوعی
    • خانواده فرانت
      • مقالات سی اس اس
      • مقالات اچ تی ام ال
    • محیط کار
      • سوالات استخدامی جاوا اسکریپت
      • سوالات استخدامی ری اکت
      • اصطلاحات محیط کار فرانت اند
    • مجله پرنیان
      • تصاویر دوره ها
      • نظرات دانشجویان قدیم
  • سوالات متداول
  • تماس با ما
  • خانواده پرنیان
    • چت خانه
    • دستیار هوش مصنوعی(رایگان!)
    • تایید مدارک
    • پیام یا انتقاد (ناشناس)
    • تعیین سطح زبان انگلیسی
    • پخش لایو رادیوسام
0

ورود و ثبت نام

بلاگ پرنیان

پارسا قربانیان |گروه آموزشی پرنیان | آموزش حرفه ای طراحی سایتبلاگمقالاتمقالات جاوا اسکریپتJSON Web Token (JWT) چیست؟

JSON Web Token (JWT) چیست؟

3 آگوست 2024
ارسال شده توسط مدیریت
مقالات ، مقالات جاوا اسکریپت
949 بازدید
JSON Web Token (JWT) چیست؟

JWT (JSON Web Token) یک استاندارد باز (RFC 7519) برای ایجاد توکن‌های دسترسی است که به طور ایمن اطلاعات بین دو طرف (مانند کلاینت و سرور) را به صورت JSON رمزگذاری می‌کند. این توکن‌ها معمولاً برای تأیید هویت و اعطای دسترسی به منابع مختلف استفاده می‌شوند.

اجزای JWT

JWT شامل سه بخش اصلی است که با نقطه (.) از هم در جاوا اسکریپت جدا می‌شوند:

  1. Header (هدر)
  2. Payload (محتوا)
  3. Signature (امضا)

1. Header

هدر معمولاً شامل دو قسمت است: نوع توکن که همیشه “JWT” است و الگوریتم رمزنگاری مورد استفاده، مانند HMAC SHA256 یا RSA.

{
  "alg": "HS256",
  "typ": "JWT"
}

آیا میدانید مدرسه فرانت اند پرنیان، دوره طراحی سایت از صفر تا صد را بصورت حرفه ای برگزار میکند؟

2. Payload

محتوا شامل ادعاها (claims) است. ادعاها اطلاعاتی هستند که در مورد کاربر یا موضوعی که توکن برای آن صادر شده است، ارائه می‌دهند. سه نوع ادعا وجود دارد:

  • Registered claims: ادعاهای استاندارد مانند iss (صادرکننده)، exp (تاریخ انقضا)، sub (موضوع) و غیره.
  • Public claims: ادعاهایی که به طور عمومی تعریف شده‌اند.
  • Private claims: ادعاهایی که بین دو طرف (مانند کلاینت و سرور) توافق شده‌اند.
{
  "sub": "1234567890",
  "name": "John Doe",
  "admin": true
}

3. Signature

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

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  secret
)

ایجاد و استفاده از JWT در جاوا اسکریپت

ایجاد JWT

برای ایجاد JWT در جاوا اسکریپت، می‌توان از کتابخانه‌های مختلفی مانند jsonwebtoken استفاده کرد. در ادامه یک مثال از نحوه ایجاد JWT با استفاده از این کتابخانه آمده است:

  1. نصب jsonwebtoken:
npm install jsonwebtoken
  1. ایجاد یک JWT:
const jwt = require('jsonwebtoken');

// داده‌هایی که می‌خواهید در JWT ذخیره شوند
const payload = {
  sub: '1234567890',
  name: 'John Doe',
  admin: true
};

// کلید مخفی برای امضا
const secret = 'your-256-bit-secret';

// ایجاد JWT
const token = jwt.sign(payload, secret, { algorithm: 'HS256', expiresIn: '1h' });

console.log(token);

بررسی اعتبار JWT

برای بررسی اعتبار JWT، باید توکن را با استفاده از کلید مخفی و الگوریتم مشخص شده تأیید کرد. در ادامه یک مثال از نحوه بررسی اعتبار JWT آمده است:

const jwt = require('jsonwebtoken');

const token = 'your.jwt.token.here';
const secret = 'your-256-bit-secret';

jwt.verify(token, secret, (err, decoded) => {
  if (err) {
    console.log('توکن نامعتبر است', err);
  } else {
    console.log('توکن معتبر است', decoded);
  }
});

استفاده از JWT در درخواست‌های HTTP

JWT معمولاً در هدر درخواست‌های HTTP به سرور ارسال می‌شود. به عنوان مثال، در درخواست‌های HTTP با استفاده از fetch:

const token = 'your.jwt.token.here';

fetch('https://api.example.com/protected', {
  method: 'GET',
  headers: {
    'Authorization': `Bearer ${token}`
  }
})
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error('Error:', error));

جمع‌بندی

JWT یک راهکار ایمن و کارآمد برای احراز هویت و دسترسی به منابع مختلف در برنامه‌های وب است. با استفاده از JWT، می‌توانید به صورت ایمن اطلاعات کاربر را بین کلاینت و سرور منتقل کنید و دسترسی به منابع را مدیریت کنید. در این مقاله، اجزای JWT، نحوه ایجاد و بررسی اعتبار JWT در جاوا اسکریپت و استفاده از JWT در درخواست‌های HTTP را بررسی کردیم.

امیدواریم از این مقاله JSON Web Token (JWT) چیست نهایت استفاده را برده باشید و آن را با دوستانتان به اشتراک بگذارید. تیم تولید محتوای مدرسه اینترنتی پرنیان این مقاله را تهیه کرده است.

اشتراک گذاری:
درباره مدیریت

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

نوشته های بیشتر از مدیریت
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
در یوتوب
ما را دنبال کنید!
Created by potrace 1.14, written by Peter Selinger 2001-2017
در آپارات
ما را دنبال کنید!

مطالب زیر را حتما مطالعه کنید

تفاوت HTMLCollection و NodeList در جاوا اسکریپت
تفاوت HTMLCollection و NodeList در جاوا اسکریپت
State Normalization در فرانت‌اند چیست؟
State Normalization در فرانت‌اند چیست؟
حفظ روحیه برنامه نویسان در شرایط جنگی
حفظ روحیه برنامه نویسان در شرایط جنگی
خبر فوری
اطلاعیه مهم درباره شروع کلاس ها
پارسا قربانیان | parsa ghorbanian
پایان دوره تهمتن
معرفی کتاب الگوریتم برنامه نویسی، زیر باران شهر
معرفی کتاب الگوریتم برنامه نویسی، زیر باران شهر
قدیمی تر آموزش ساخت استوری اینستاگرام با جاوا اسکریپت
جدیدتر آموزش کتابخانه Framer Motion

دیدگاهتان را بنویسید لغو پاسخ

جستجو برای:
نوشته‌های تازه
  • تفاوت HTMLCollection و NodeList در جاوا اسکریپت
  • State Normalization در فرانت‌اند چیست؟
  • حفظ روحیه برنامه نویسان در شرایط جنگی
  • اطلاعیه مهم درباره شروع کلاس ها
  • پایان دوره تهمتن
دسته‌ها
دوره ها:

کلاس های درحال ثبت نام فرانت اند: 

  • دوره فرانت اند عصر از 23 تیرماه

دوره فرانت اند پارسا قربانیان

مدرسه فرانت اند پرنیان

گروه آموزشی پرنیان از سال 92 تاسیس شده و تاکنون ده ها دوره طراحی وب ، CMS ، سئو و بوت کمپ فرانت اند به صورت حضوری و غیر حضوری برگزار کرده است. ما در پرنیان جدیدترین و کاربردی ترین مباحث طراحی و توسعه وب ، سئو و دیجیتال مارکتینگ رو آموزش داده و راه ورود شما عزیزان به بازار کار را هموار کرده ایم.

فهرست سفارشی
  • بلاگ
  • تماس با ما
  • حساب کاربری من
  • درباره پارسا قربانیان، موسس مدرسه پرنیان
  • سبد خرید
  • فروشگاه

لوگوی مدرسه پرنیان

تمام حقوق برای مدرسه فرانت اند پرنیان محفوظ است. سیاست حفظ حریم شخصی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت