با نیگن و ماژول احراز هویت JWT آشنا شویم
ماژول ngx_http_auth_jwt_module در نیگن به شما این امکان را میدهد که از توکنهای JWT برای احراز هویت درخواستها استفاده کنید. توکنهای JWT به دلیل ساختار معتبر و امضا شدهای که دارند، بسیار محبوب شدهاند. این ماژول به شما این امکان را میدهد که با استفاده از این توکنها، به سادگی کاربران خود را شناسایی کرده و به منابع مختلف دسترسی دهید.
حالا یکی از ویژگیهای مهم این ماژول، کش کردن کلیدهای JWT است که با استفاده از آن میتوانید عملکرد را بهبود دهید. سیستم کشکردن کلیدها به این معناست که به جای اینکه هر بار کلید را از پایگاه دیتا یا منبع خارجی بارگذاری کنید، میتوانید از کش استفاده کنید و زمان بارگذاری را کاهش دهید.
مزیت استفاده از کش برای کلیدهای JWT به ویژه در شرایطی است که تعداد زیادی کاربر به طور همزمان درخواست میدهند. این کش میتواند شامل کلیدهای عمومی و خصوصی باشد که برای امضای توکنها استفاده میشود. این موضوع سرعت پاسخدهی سرور را افزایش میدهد و میتواند تأثیر زیادی در عملکرد کلی سیستم شما داشته باشد.
حالا بیایید نگاهی به تنظیمات لازم برای استفاده از کش کلیدهای JWT بندازیم. این تنظیمات به شما این امکان را میدهد که ابعاد و مدت زمان ذخیره اطلاعات در کش را تنظیم کنید و همچنین مشخص کنید که کلیدها از کجا بارگذاری شوند.
http {
auth_jwt "Protected";
auth_jwt_key_cache auth_jwt_cache;
auth_jwt_key "your_secret_key";
auth_jwt_key_cache_timeout 10m;
}
توضیحات کد
http {
این خط یک بلوک کنترلی برای تمامی تنظیمات HTTP را آغاز میکند.auth_jwt "Protected";
این خط تعیین میکند که این مسیر از JWT برای احراز هویت استفاده میکند.auth_jwt_key_cache auth_jwt_cache;
در اینجا ما کش کلید JWT را با نامauth_jwt_cache
تنظیم کردهایم.auth_jwt_key "your_secret_key";
این خط کلید مخفی خود را برای امضای توکن JWT مشخص میکند.auth_jwt_key_cache_timeout 10m;
در اینجا مدت زمان کش به مدت10 دقیقه
تعیین شده است.}
در اینجا پایان بلوک HTTP است.