جستجو برای:
  • پنوم
  • خدمات پنوم
    • طراحی سایت
    • سئو سایت
    • دیزاین و طراحی بنر
    • طراحی اپلیکیشن موبایل
    • تبدیل سایت به اپلیکیشن موبایل
  • آکادمی پنوم
  • تماشاکده
  • بلاگ
  • برگه ها
    • تماس با ما
    • درباره ما

ورود

پنوم
ورود / عضویت

شماره موبایل یا ایمیل نامعتبر است

به وب سایت رسمی پنوم خوش آمدید

آکادمی پنوم
0

هنوز هیچ محصولی خریداری نکرده اید.

ورود یا ثبت نام
  • پنوم
  • خدمات پنوم
    • طراحی سایت
    • سئو سایت
    • دیزاین و طراحی بنر
    • طراحی اپلیکیشن موبایل
    • تبدیل سایت به اپلیکیشن موبایل
  • آکادمی پنوم
  • تماشاکده
  • بلاگ
  • برگه ها
    • تماس با ما
    • درباره ما
penom-logo
ورود یا ثبت نام

وبلاگ

پنوم > بلاگ > آموزشی > JWT چیست و چه کاربرد هایی دارد؟

JWT چیست و چه کاربرد هایی دارد؟

JWT چسیت و چه کاربرد هایی دارد

JWT مخفف عبارت JSON Web Token  می باشد همان طور که می بینید در این عبارت کلمه JSON وجود دارد پس می توان نتیجه گرفت فرمت JWT از نوع JSON است.

کاربردهای JWT

به صورت کلی برای دو مفهوم زیر از JWT استفاده می شود:

  1. Authorization
  2. Information Exchange

 

چرا باید از JWT استفاده کنیم؟

اگر فرض کنیم برای تبادل اطلاعات (Information Exchange) می خواهیم از JWT  استفاده کنیم طبیعتا این پرسش برای ما به وجود می آید که چرا به طور معمول فرایند اتصال به سرور و درخواست اطلاعات و در نهایت دریافت اطلاعات را انجام ندهیم.

پاسخ این سوال را در چند بند خدمت شما می گوییم:

  1. مهم ترین عامل امینت می باشد همانطور که در بالا گفته شد کار اصلی JWT این است که برای هر کاربر توکن می سازد و این امر خود باعث می شود کاربر قبل از داشتن دسترسی به هر داده ای اعتبار سنجی شود.
  2. ساده بودن پیاده سازی (با استفاده از کتابخانه های از پیش تعریف شده به راحتی می توان از JWT استفاده کرد)
  3. Compact بودن یا به عبارتی سایز کمی دارد این مزیت به ما این امکان را می دهد اطلاعات را با یک URL و با استفاده از یک متد POST ارسال کنیم.
  4. تمام اطلاعاتی که برای Authorization لازم است در خود دارد به عبارتی self-contianed می باشد.

 

ساختار JWT  :

به طور کلی در هنگام درخواست از سرور یا ارسال اطلاعات در روش JWT اصطلاحا یک توکن از کلاینت به سرور ارسال می شود که ساختار این توکن از سه بخش زیر تشکیل می شود و با . (dot)  از هم جدا می شوند

  • Header
  • Payload
  • Signature

 

محتویات یک توکن در JWT:

برای دیدن محتویات توکن می‌توانید به سایت jwt.io  مراجعه کنید برای مثال محتویات یک توکن به صورت زیر است:

محتویات یک توکن در JWT:

Token چیست و چه کاربری دارد؟

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

 

Header چیست:

هدر از دو بخش تشکیل می شود که بخش اول آن الگوریتم را تعیین می کند و بخش دوم نوع آن را مشخض می کند.
در تصویر قبل بخش یک ها همان توکن ارسالی کلاینت به سرور می باشد بخش قرمز رنگ این توکن همان هدر می باشد.

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

 

Payload چیست؟

بخش دوم توکن که در تصویر رنگ آن بنفش می باشد همان Payload می باشد. که شامل اطلاعات ارسالی کاربر و یک سری دیتا می شود برای مثال:

{
  "iss": "123456789",
  "name": "penom", 
 "admin": true
}

 

Signature چیست؟

بخش سوم در تصویر که یکی از مهم ترین قسمت کار همین جاست یعنی بررسی داده ارسالی از سمت کاربر که آیا این داده در بین راه یا حتی توسط خود کاربر تغییر کرده یا خیر این کار دقیقا وظیفه Signature می باشد.
Signature توسط یک الگوریتم که در هدر قرار دارد و با یک کلید که از پیش تعیین می شود. در یک ساختار مصل ساختار زیر Header و Payload را ترکیب و رمزگذاری می کند در واقع این عملیات دو بار صورت می گیرید

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

 

سخن نهایی:

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

4.5/5 - (2 امتیاز)

اشتراک گذاری:
برچسب ها: امنیت سایت
درباره محمد فراشی

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

سایر نوشته های محمد فراشی
مطالب زیر را حتما بخوانید
  • آموزش راه اندازی درگاه پرداخت
    آموزش راه اندازی درگاه پرداخت در وبسایت فروشگاهی | درگاه پرداخت زرین پال

    76 بازدید

  • نمایش صحیح محصولات در وردپرس
    نمایش صحیح محصولات در صفحات وردپرس

    76 بازدید

  • آموزش ساخت فوتر با المنتور | راهنمای گام‌به‌گام طراحی فوتر حرفه‌ای

    88 بازدید

  • ساخت منوی هدر در المنتور
    آموزش ساخت هدر با المنتور | راهنمای گام‌به‌گام طراحی هدر حرفه‌ای

    90 بازدید

  • آیکون شبکه های مجازی
    اضافه کردن آیکون شبکه‌ های اجتماعی در المنتور

    108 بازدید

  • بردکرامب چیست
    بردکرامب چیست؟ اضافه کردن برد کرامپ به وب سایت با رنک مث

    129 بازدید

قدیمی تر چرا وب سایت خود را باید به روز نگه داریم؟
جدیدتر تفاوت‌های طراحی سایت وردپرس با قالب اختصاصی و قالب آماده

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


آموزش طراحی وب سایت وردپرسی

جامــــع، کامل و حرفــه ای

دسته‌ها
  • آموزشی
  • اپلیکیشن موبایل
  • دیجیتال مارکتینگ
  • سئو
  • ساخت فروشگاه آنلاین
  • طراحی سایت
  • عمومی
  • ویدئوها

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

تماس با ما
  • تهران ، شهریار ، کوچه رستاخیز، کوچه 12متری احداثی، پلاک: 4
  • 09190911797
  • 02165229921
  • info@penom.ir
دسترسی سریع
  • طراحی سایت
  • سئو سایت
  • طراحی اپلیکیشن موبایل
  • نمونه کارهای پنوم
  • آکادمی پنوم
  • مقالات آموزشی
تمامی حقوق برای مجموعه پنوم محفوظ می باشد.

درخواست مشاوره رایگان

  • 09190911797

فرم درخواست مشاوره

  • Afghanistan (+93)
  • Albania (+355)
  • Algeria (+213)
  • American Samoa (+1)
  • Andorra (+376)
  • Angola (+244)
  • Anguilla (+1)
  • Antigua (+1)
  • Argentina (+54)
  • Armenia (+374)
  • Aruba (+297)
  • Australia (+61)
  • Austria (+43)
  • Azerbaijan (+994)
  • Bahrain (+973)
  • Bangladesh (+880)
  • Barbados (+1)
  • Belarus (+375)
  • Belgium (+32)
  • Belize (+501)
  • Benin (+229)
  • Bermuda (+1)
  • Bhutan (+975)
  • Bolivia (+591)
  • Bonaire, Sint Eustatius and Saba (+599)
  • Bosnia and Herzegovina (+387)
  • Botswana (+267)
  • Brazil (+55)
  • British Indian Ocean Territory (+246)
  • British Virgin Islands (+1)
  • Brunei (+673)
  • Bulgaria (+359)
  • Burkina Faso (+226)
  • Burundi (+257)
  • Cambodia (+855)
  • Cameroon (+237)
  • Canada (+1)
  • Cape Verde (+238)
  • Cayman Islands (+1)
  • Central African Republic (+236)
  • Chad (+235)
  • Chile (+56)
  • China (+86)
  • Colombia (+57)
  • Comoros (+269)
  • Cook Islands (+682)
  • Côte d'Ivoire (+225)
  • Costa Rica (+506)
  • Croatia (+385)
  • Cuba (+53)
  • Curaçao (+599)
  • Cyprus (+357)
  • Czech Republic (+420)
  • Democratic Republic of the Congo (+243)
  • Denmark (+45)
  • Djibouti (+253)
  • Dominica (+1)
  • Dominican Republic (+1)
  • Ecuador (+593)
  • Egypt (+20)
  • El Salvador (+503)
  • Equatorial Guinea (+240)
  • Eritrea (+291)
  • Estonia (+372)
  • Ethiopia (+251)
  • Falkland Islands (+500)
  • Faroe Islands (+298)
  • Federated States of Micronesia (+691)
  • Fiji (+679)
  • Finland (+358)
  • France (+33)
  • French Guiana (+594)
  • French Polynesia (+689)
  • Gabon (+241)
  • Georgia (+995)
  • Germany (+49)
  • Ghana (+233)
  • Gibraltar (+350)
  • Greece (+30)
  • Greenland (+299)
  • Grenada (+1)
  • Guadeloupe (+590)
  • Guam (+1)
  • Guatemala (+502)
  • Guernsey (+44)
  • Guinea (+224)
  • Guinea-Bissau (+245)
  • Guyana (+592)
  • Haiti (+509)
  • Honduras (+504)
  • Hong Kong (+852)
  • Hungary (+36)
  • Iceland (+354)
  • India (+91)
  • Indonesia (+62)
  • Iran (+98)
  • Iraq (+964)
  • Ireland (+353)
  • Isle Of Man (+44)
  • Israel (+972)
  • Italy (+39)
  • Jamaica (+1)
  • Japan (+81)
  • Jersey (+44)
  • Jordan (+962)
  • Kazakhstan (+7)
  • Kenya (+254)
  • Kiribati (+686)
  • Kuwait (+965)
  • Kyrgyzstan (+996)
  • Laos (+856)
  • Latvia (+371)
  • Lebanon (+961)
  • Lesotho (+266)
  • Liberia (+231)
  • Libya (+218)
  • Liechtenstein (+423)
  • Lithuania (+370)
  • Luxembourg (+352)
  • Macau (+853)
  • Macedonia (+389)
  • Madagascar (+261)
  • Malawi (+265)
  • Malaysia (+60)
  • Maldives (+960)
  • Mali (+223)
  • Malta (+356)
  • Marshall Islands (+692)
  • Martinique (+596)
  • Mauritania (+222)
  • Mauritius (+230)
  • Mayotte (+262)
  • Mexico (+52)
  • Moldova (+373)
  • Monaco (+377)
  • Mongolia (+976)
  • Montenegro (+382)
  • Montserrat (+1)
  • Morocco (+212)
  • Mozambique (+258)
  • Myanmar (+95)
  • Namibia (+264)
  • Nauru (+674)
  • Nepal (+977)
  • Netherlands (+31)
  • New Caledonia (+687)
  • New Zealand (+64)
  • Nicaragua (+505)
  • Niger (+227)
  • Nigeria (+234)
  • Niue (+683)
  • Norfolk Island (+672)
  • North Korea (+850)
  • Northern Mariana Islands (+1)
  • Norway (+47)
  • Oman (+968)
  • Pakistan (+92)
  • Palau (+680)
  • Palestine (+970)
  • Panama (+507)
  • Papua New Guinea (+675)
  • Paraguay (+595)
  • Peru (+51)
  • Philippines (+63)
  • Poland (+48)
  • Portugal (+351)
  • Puerto Rico (+1)
  • Qatar (+974)
  • Republic of the Congo (+242)
  • Romania (+40)
  • Reunion (+262)
  • Russia (+7)
  • Rwanda (+250)
  • Saint Helena (+290)
  • Saint Kitts and Nevis (+1)
  • Saint Pierre and Miquelon (+508)
  • Saint Vincent and the Grenadines (+1)
  • Samoa (+685)
  • San Marino (+378)
  • Sao Tome and Principe (+239)
  • Saudi Arabia (+966)
  • Senegal (+221)
  • Serbia (+381)
  • Seychelles (+248)
  • Sierra Leone (+232)
  • Singapore (+65)
  • Sint Maarten (+1)
  • Slovakia (+421)
  • Slovenia (+386)
  • Solomon Islands (+677)
  • Somalia (+252)
  • South Africa (+27)
  • South Korea (+82)
  • South Sudan (+211)
  • Spain (+34)
  • Sri Lanka (+94)
  • St. Lucia (+1)
  • Sudan (+249)
  • Suriname (+597)
  • Swaziland (+268)
  • Sweden (+46)
  • Switzerland (+41)
  • Syria (+963)
  • Taiwan (+886)
  • Tajikistan (+992)
  • Tanzania (+255)
  • Thailand (+66)
  • The Bahamas (+1)
  • The Gambia (+220)
  • Timor-Leste (+670)
  • Togo (+228)
  • Tokelau (+690)
  • Tonga (+676)
  • Trinidad and Tobago (+1)
  • Tunisia (+216)
  • Turkey (+90)
  • Turkmenistan (+993)
  • Turks and Caicos Islands (+1)
  • Tuvalu (+688)
  • U.S. Virgin Islands (+1)
  • Uganda (+256)
  • Ukraine (+380)
  • United Arab Emirates (+971)
  • United Kingdom (+44)
  • United States (+1)
  • Uruguay (+598)
  • Uzbekistan (+998)
  • Vanuatu (+678)
  • Venezuela (+58)
  • Vietnam (+84)
  • Wallis and Futuna (+681)
  • Western Sahara (+212)
  • Yemen (+967)
  • Zambia (+260)
  • Zimbabwe (+263)
به کمک نیاز دارید با ما چت کنید.
شروع مکالمه
سلام! برای چت با ما در واتس آپ بر روی اعضای ما در زیر کلیک کنید
برای ارسال پیام در واتساپ فیلترشکن خود را روشن کنید.
کارشناس فروش
کارشناس فروش
جستجو

جستجو با زدن Enter و بستن با زدن ESC

ورود
با شماره موبایل
آیا هنوز عضو نشده اید؟ اکنون ثبت نام کنید
ثبت نام
قبلا عضو شده اید؟ اکنون وارد شوید