دیروز یه پست از برتنی مولر خوندم که واقعاً ذهنم رو درگیر کرد.
موضوعش «هک شدن مرورگر ChatGPT Atlas فقط در ۴۸ ساعت» بود.
مرورگر هوش مصنوعی OpenAI رو محققها تونستن با دستورهای پنهان در متن سفید و HTML هک کنن.
روشهای قدیمی BlackHat دوباره برگشتن، فقط این بار قربانی انسان نیست… هوش مصنوعیه!
برتنی میگه مشکل اینجاست که LLM نمیتونه فرق بین محتوای واقعی و دستور مخرب رو تشخیص بده.
و این یعنی:
الان کل صفحه مهمه، از کامنت HTML تا متن سفید.
محتوای UGC (نظرات و دیدگاهها) میتونه دروازهی حمله بشه.
مرورگرهای هوش مصنوعی در برابر تهدیدات امنیتی هنوز خیلی ضعیفن.
اما کامنت رند فیشکین از اونم جالبتر بود:
میگه شاید هدف ChatGPT از ساخت مرورگر اصلاً «مرور وب» نبوده…
بلکه یه «اسب تروجان» بوده برای اینکه سایتها دیگه نتونن جلوی خزندهش رو بگیرن.
چون اگه بخوای دسترسی Atlas رو ببندی، در واقع داری جلوی کاربر واقعی مرورگر رو هم میگیری.
به نظرم این نقطهی خطرناکیه که سئو، امنیت و مالکیت داده با هم برخورد میکنن.
مرورگرها دیگه فقط نمیخونن، تصمیم میگیرن ، و گاهی شاید بر خلاف منافع صاحب محتوا.
@DevTwitter | <Shahram Rahbari/>
موضوعش «هک شدن مرورگر ChatGPT Atlas فقط در ۴۸ ساعت» بود.
مرورگر هوش مصنوعی OpenAI رو محققها تونستن با دستورهای پنهان در متن سفید و HTML هک کنن.
روشهای قدیمی BlackHat دوباره برگشتن، فقط این بار قربانی انسان نیست… هوش مصنوعیه!
برتنی میگه مشکل اینجاست که LLM نمیتونه فرق بین محتوای واقعی و دستور مخرب رو تشخیص بده.
و این یعنی:
الان کل صفحه مهمه، از کامنت HTML تا متن سفید.
محتوای UGC (نظرات و دیدگاهها) میتونه دروازهی حمله بشه.
مرورگرهای هوش مصنوعی در برابر تهدیدات امنیتی هنوز خیلی ضعیفن.
اما کامنت رند فیشکین از اونم جالبتر بود:
میگه شاید هدف ChatGPT از ساخت مرورگر اصلاً «مرور وب» نبوده…
بلکه یه «اسب تروجان» بوده برای اینکه سایتها دیگه نتونن جلوی خزندهش رو بگیرن.
چون اگه بخوای دسترسی Atlas رو ببندی، در واقع داری جلوی کاربر واقعی مرورگر رو هم میگیری.
به نظرم این نقطهی خطرناکیه که سئو، امنیت و مالکیت داده با هم برخورد میکنن.
مرورگرها دیگه فقط نمیخونن، تصمیم میگیرن ، و گاهی شاید بر خلاف منافع صاحب محتوا.
@DevTwitter | <Shahram Rahbari/>
🔥44👍11👎1
This media is not supported in your browser
VIEW IN TELEGRAM
این Grub Theme رو امروز دیدم که خیلی جالب طراحی شده که در موقع Boot شدن، وقتی می خوای سیستم عامل رو انتخاب کنی، Morpheus سیستم عامل رو پیشنهاد میده.
باحالیش اینه که ویندوز همون قرص آبی هست
https://github.com/Priyank-Adhav/Matrix-Morpheus-GRUB-Theme
@DevTwitter | <VAHID NAMENI/>
باحالیش اینه که ویندوز همون قرص آبی هست
https://github.com/Priyank-Adhav/Matrix-Morpheus-GRUB-Theme
@DevTwitter | <VAHID NAMENI/>
❤68🍌8👍4👎1
من اولین دپلوی که کردم رو داکیومنت کردم اگر دوست داشتید نگاهش کنید هر مشکلی توی فهم من یا درک من بود بگید روش وقت بزارم درستش کنم.
https://github.com/sysp0/devops_learning/blob/main/docs/kubernetes/01_first_step/document.md
@DevTwitter | <Reza Ghasemi/>
https://github.com/sysp0/devops_learning/blob/main/docs/kubernetes/01_first_step/document.md
@DevTwitter | <Reza Ghasemi/>
🔥27❤5👍5👎3
لیستی از چیز های جالب بیگ دیتا، جمعه چکش کنید چون یه روز کاری از وقتتون رو میگیره !
http://github.com/oxnr/awesome-bigdata
@DevTwitter | <Nimo/>
http://github.com/oxnr/awesome-bigdata
@DevTwitter | <Nimo/>
👍20🔥1
یه سوال جدی: واقعاً Xdebug توی پروژههای Laravel لازمه؟ یا فقط یه ابزار سنگین و اعصابخوردکنه که آدمو از تمرکز میندازه؟
راستش من چند بار باهاش کار کردم... مخصوصاً وقتی میخواستم بفهمم دقیقاً چی توی یه chain از متدها داره اتفاق میافته. اما بعد از چند ساعت config و تنظیمات، حس کردم همون dd(), dump یا حتی DB::enableQueryLog() خودشون برای ۹۰٪ مواقع کافیان.
یعنی واقعاً چند بار شده بخوای بری مرحله به مرحله ببینی چی توی Auth::attempt() یا Eloquent::save() میگذره؟
معمولاً یه dd($user) وسط کار میذاری و تموم.
از اون طرف Xdebug خیلی دقیقتره، ولی سنگین هم هست. روی docker مخصوصاً یه لگ عجیب ایجاد میکنه. اگه واقعاً به اون سطح از trace نیاز داری، شاید داری با یه مشکل طراحی بزرگتر دست و پنجه نرم میکنی.
️ خلاصه نظر من اینه:
این Xdebug برای لحظاتی که داری core مینویسی یا میخوای واقعاً بفهمی PHP در پسزمینه چیکار میکنه عالیه،
ولی برای یه پروژه معمولی لاراولی، dd() همچنان پادشاهه!
@DevTwitter | <Atefe Ali asgariyan/>
راستش من چند بار باهاش کار کردم... مخصوصاً وقتی میخواستم بفهمم دقیقاً چی توی یه chain از متدها داره اتفاق میافته. اما بعد از چند ساعت config و تنظیمات، حس کردم همون dd(), dump یا حتی DB::enableQueryLog() خودشون برای ۹۰٪ مواقع کافیان.
یعنی واقعاً چند بار شده بخوای بری مرحله به مرحله ببینی چی توی Auth::attempt() یا Eloquent::save() میگذره؟
معمولاً یه dd($user) وسط کار میذاری و تموم.
از اون طرف Xdebug خیلی دقیقتره، ولی سنگین هم هست. روی docker مخصوصاً یه لگ عجیب ایجاد میکنه. اگه واقعاً به اون سطح از trace نیاز داری، شاید داری با یه مشکل طراحی بزرگتر دست و پنجه نرم میکنی.
️ خلاصه نظر من اینه:
این Xdebug برای لحظاتی که داری core مینویسی یا میخوای واقعاً بفهمی PHP در پسزمینه چیکار میکنه عالیه،
ولی برای یه پروژه معمولی لاراولی، dd() همچنان پادشاهه!
@DevTwitter | <Atefe Ali asgariyan/>
👍16❤5👎2🔥1
اخیرا یه تسکی رو برای شرکتی انجام دادم که یک CRUD کوچولو هستش و با React 18 و Typenoscript نوشته شده
پروژه رو از طریق لینک زیر میتونید بصورت لایو ببینید:
https://listifyrepo.netlify.app
برای دیدن کدها هم میتونید به این لینک سر بزنید:
https://github.com/majidvz/listify
@DevTwitter | <Majid/>
پروژه رو از طریق لینک زیر میتونید بصورت لایو ببینید:
https://listifyrepo.netlify.app
برای دیدن کدها هم میتونید به این لینک سر بزنید:
https://github.com/majidvz/listify
@DevTwitter | <Majid/>
❤20👎11🍌5🔥3
چرا از pnpm به جای npm استفاده کنیم؟
جوابش سادست. فرض کنید ده تا پروژه روی کامپیوتر خودتون در دست توسعه دارید که از node modules استفاده میکنن.
️ قطعا بین این ده تا پروژه تعداد زیادی پکیج مشابه و مشترکه، اما اگر از npm استفاده کنید:
۱- همه پکیج ها توی هر یک از پروژه ها هر بار نصب میشن و نتیجتا شما پکیج های مشابه رو برا هر پروژه دوباره و دوباره دانلود میکنید.
۲- همچنین نهایتا روی دیسکتون از هر پکیج مشترک ده تا کپی خواهید داشت که بهینه نیست.
حالا pnpm چیکار میکنه؟
میاد و به جای این که این ماژول هارو هر بار توی فولدر هر پروژه ذخیره کنه، توی یک دایرکتوری مرکزی ذخیره میکنه و صرفا به هر پروژه ای که به اون دپندنسی نیاز داره لینکش میکنه.
اینطوری شما برای پروژه های مختلف مجبور نیستید پکیج هایی که قبلا یک بار نصبشون کردید رو مجددا نصب کنید و یک کپی جدید ازش روی دیسکتون ذخیره کنید، در نتیجه از نظر مدیریت حافظه و سرعت نصب قطعا جلو میوفتید.
البته مزایای دیگه ای هم داره که میتونید تو داکیومنت خود pnpm بخونید:
https://pnpm.io/pnpm-vs-npm
@DevTwitter | <Omid Baharifar/>
جوابش سادست. فرض کنید ده تا پروژه روی کامپیوتر خودتون در دست توسعه دارید که از node modules استفاده میکنن.
️ قطعا بین این ده تا پروژه تعداد زیادی پکیج مشابه و مشترکه، اما اگر از npm استفاده کنید:
۱- همه پکیج ها توی هر یک از پروژه ها هر بار نصب میشن و نتیجتا شما پکیج های مشابه رو برا هر پروژه دوباره و دوباره دانلود میکنید.
۲- همچنین نهایتا روی دیسکتون از هر پکیج مشترک ده تا کپی خواهید داشت که بهینه نیست.
حالا pnpm چیکار میکنه؟
میاد و به جای این که این ماژول هارو هر بار توی فولدر هر پروژه ذخیره کنه، توی یک دایرکتوری مرکزی ذخیره میکنه و صرفا به هر پروژه ای که به اون دپندنسی نیاز داره لینکش میکنه.
اینطوری شما برای پروژه های مختلف مجبور نیستید پکیج هایی که قبلا یک بار نصبشون کردید رو مجددا نصب کنید و یک کپی جدید ازش روی دیسکتون ذخیره کنید، در نتیجه از نظر مدیریت حافظه و سرعت نصب قطعا جلو میوفتید.
البته مزایای دیگه ای هم داره که میتونید تو داکیومنت خود pnpm بخونید:
https://pnpm.io/pnpm-vs-npm
@DevTwitter | <Omid Baharifar/>
❤57👍16👎3🔥1
آپدیت تازه برای PHP کارها
معرفی SDK رسمی PHP برای MCP (Model Context Protocol) چند هفته پیش، در ۵ سپتامبر ۲۰۲۵ توسط The PHP Foundation با همکاری تیم MCP آنتروپیک و Symfony. یعنی بالاخره یک پیادهسازی مرجع، فریمورکاگنوستیک و آمادهٔ تولید داریم تا اپهای AI رو مثل وصلکردن رابط «USB-C» به ابزارها و دادههای بیرونی داشته باشیم
چرا هیجانانگیزه؟
مرجع واحد و قابلاعتماد برای کل اکوسیستم PHP
نگهداری توسط تیم Symfony + مشارکت جامعه
اتفاقاتی که میفته:
ساخت Agent/Tool با PHP به راحتی
دیدهشدن جدیتر PHP توی فیلد AI
فرصت برای ادغامهای رسمی با Laravel/WordPress/Drupal/Laminas و…
اگه براتون جالبه میتونید خودتون یه سر به مقاله بزنید:
https://thephp.foundation/blog/2025/09/05/php-mcp-sdk/
@DevTwitter | <Reza Fereydouni/>
معرفی SDK رسمی PHP برای MCP (Model Context Protocol) چند هفته پیش، در ۵ سپتامبر ۲۰۲۵ توسط The PHP Foundation با همکاری تیم MCP آنتروپیک و Symfony. یعنی بالاخره یک پیادهسازی مرجع، فریمورکاگنوستیک و آمادهٔ تولید داریم تا اپهای AI رو مثل وصلکردن رابط «USB-C» به ابزارها و دادههای بیرونی داشته باشیم
چرا هیجانانگیزه؟
مرجع واحد و قابلاعتماد برای کل اکوسیستم PHP
نگهداری توسط تیم Symfony + مشارکت جامعه
اتفاقاتی که میفته:
ساخت Agent/Tool با PHP به راحتی
دیدهشدن جدیتر PHP توی فیلد AI
فرصت برای ادغامهای رسمی با Laravel/WordPress/Drupal/Laminas و…
اگه براتون جالبه میتونید خودتون یه سر به مقاله بزنید:
https://thephp.foundation/blog/2025/09/05/php-mcp-sdk/
@DevTwitter | <Reza Fereydouni/>
🍌12👍10🔥5❤3
معادل LangGraph ولی با Rust
https://github.com/a-agmon/rs-graph-llm
@DevTwitter | <Von Datawarehausen/>
https://github.com/a-agmon/rs-graph-llm
@DevTwitter | <Von Datawarehausen/>
❤4🔥1
یکششم نفوذهای امسال با یک رمز دزدیدهشده با دسترسی بالا (انسانی، سرویساکانت یا API-key) شروع شده!
این راهنمای عملیاتی منتشر شده توسط گوگل، به نکات جالبی اشاره می کند که آمادگی ما را در مقابل حملات سایبری دو چندان می کند و واقعا راهنمای عالی است!
https://cloud.google.com/blog/topics/threat-intelligence/privileged-account-monitoring
@DevTwitter | <VAHID NAMENI/>
این راهنمای عملیاتی منتشر شده توسط گوگل، به نکات جالبی اشاره می کند که آمادگی ما را در مقابل حملات سایبری دو چندان می کند و واقعا راهنمای عالی است!
https://cloud.google.com/blog/topics/threat-intelligence/privileged-account-monitoring
@DevTwitter | <VAHID NAMENI/>
❤13👍1🔥1
یه اپ امنیتی برای جنگو نوشتم که لاگین فیک میسازه و رفتار مشکوک کاربرا (مثل لاگین خیلی سریع یا فیلدهای تقلبی) رو تشخیص میده
باهاش میتونی صفحات ادمین فیک Django و حتی WordPress بسازی، حرکات هکرها رو لاگ کنی و هشدار بگیری
https://github.com/alihtt/django-honeyguard
@DevTwitter | <Ali Hatami/>
باهاش میتونی صفحات ادمین فیک Django و حتی WordPress بسازی، حرکات هکرها رو لاگ کنی و هشدار بگیری
https://github.com/alihtt/django-honeyguard
@DevTwitter | <Ali Hatami/>
👍31❤6👎6🍌2
دیزاین پترن ها رو یاد نخواهید گرفت مگر با مثال هایی که در پروژه های واقعی یا فریم ورک ها استفاده شده. مثلا ببینید چطور نست برای کانفیگ کردن swagger از پترن builder استفاده میکنه. توی این ریپو پترن های بیشتری با دیاگرام هست. ممنون میشم اگر استار بدین
https://github.com/vahidvdn/realworld-design-patterns/
@DevTwitter | <Vahid/>
https://github.com/vahidvdn/realworld-design-patterns/
@DevTwitter | <Vahid/>
❤24👍9🔥1
این ریپو Gini Impurity منه که که پارسال برای پروژه درس دادهکاوی دانشگاه درستش کرده بودم و الان رتبه اول گیتهاب تاپیک شده و از نظر ستاره محبوب ترین ریپو گیتهاب من هم هست.
شامل یک اسکریپت محاسبه شاخص جینی بصورت کلاسیک و یک مدل تکامل یافته که ابداع خودم بوده.
کاربرد شاخص جینی در درخت های تصمیم و پیش پردازش دیتاست ها است و ... خیلی چیز های دیگه.
داخل ریپو یک فایل PDF بصورت جزوه هست(به زبان انگلیسی) که صفر تا 99 درصد کار رو توضیح میده و برای دانشجوهایی که مثل من پروژه و ارائه داشتن عالیه
github.com/a-partovii/Gini-Impurity
@DevTwitter | <Ashkan-P/>
شامل یک اسکریپت محاسبه شاخص جینی بصورت کلاسیک و یک مدل تکامل یافته که ابداع خودم بوده.
کاربرد شاخص جینی در درخت های تصمیم و پیش پردازش دیتاست ها است و ... خیلی چیز های دیگه.
داخل ریپو یک فایل PDF بصورت جزوه هست(به زبان انگلیسی) که صفر تا 99 درصد کار رو توضیح میده و برای دانشجوهایی که مثل من پروژه و ارائه داشتن عالیه
github.com/a-partovii/Gini-Impurity
@DevTwitter | <Ashkan-P/>
👍26👎11❤4🍌2
این ریپو هم جالب بود
آموزش امن کردن سرور لینوکسی که خودش گفته یکم هم امنیت بهتون یاد میدیم.
البته که گفته به درد سرور شخصی میخوره، بیشتر هدفش آموزشه تا کانفیگ سرور پروداکشن ولی خب جامع و کامله.
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
@DevTwitter | <Milad Niroee/>
آموزش امن کردن سرور لینوکسی که خودش گفته یکم هم امنیت بهتون یاد میدیم.
البته که گفته به درد سرور شخصی میخوره، بیشتر هدفش آموزشه تا کانفیگ سرور پروداکشن ولی خب جامع و کامله.
https://github.com/imthenachoman/How-To-Secure-A-Linux-Server
@DevTwitter | <Milad Niroee/>
❤17👍3🔥1🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
بهتازگی با Mage-UI آشنا شدم
مجموعهای از کامپوننتهای رابط کاربری که طراحی مدرن، انیمیشنهای نرم و افکتهای چشمنواز رو با سادهترین روش ممکن ترکیب کرده.
چیزی که منو جذب کرد اینه که فقط با یه copy-paste ساده میتونی جلوههایی حرفهای و مدرن به پروژههات اضافه کنی، بدون نیاز به تنظیمات پیچیده یا وابستگیهای سنگین.
برای توسعهدهندهها و طراحهایی که دنبال سادگی، خلاقیت و سرعت هستن، Mage-UI یه ابزار کمنظیره برای ساخت تجربههای کاربری زنده و جذاب.
لینکش هم که اینجاست
mageui.live
@DevTwitter | <Abolfazl Shekarshekan/>
مجموعهای از کامپوننتهای رابط کاربری که طراحی مدرن، انیمیشنهای نرم و افکتهای چشمنواز رو با سادهترین روش ممکن ترکیب کرده.
چیزی که منو جذب کرد اینه که فقط با یه copy-paste ساده میتونی جلوههایی حرفهای و مدرن به پروژههات اضافه کنی، بدون نیاز به تنظیمات پیچیده یا وابستگیهای سنگین.
برای توسعهدهندهها و طراحهایی که دنبال سادگی، خلاقیت و سرعت هستن، Mage-UI یه ابزار کمنظیره برای ساخت تجربههای کاربری زنده و جذاب.
لینکش هم که اینجاست
mageui.live
@DevTwitter | <Abolfazl Shekarshekan/>
👍27👎4🔥4
تو نسخه ۱.۲۵ گولنگ یه garbage collector تازه به اسم Green Tea اضافه کردن که سرعتش خیلی بهتره. فعلاً آزمایشیه ولی از ۱.۲۶ به بعد قراره پیشفرض بشه.
اگه گو کار میکنید یا نه، پیشنهاد میکنیم این پست رو بخونید. خیلی خوب توضیح میده GC چطور کار میکنه و چطوری باید به پرفورمنس یه برنامه نگاه کنیم؛ از instruction های CPU تا دسترسی به مموری و بقیه داستانها.
لینکش اینه:
https://go.dev/blog/greenteagc
@DevTwitter | <Ali />
اگه گو کار میکنید یا نه، پیشنهاد میکنیم این پست رو بخونید. خیلی خوب توضیح میده GC چطور کار میکنه و چطوری باید به پرفورمنس یه برنامه نگاه کنیم؛ از instruction های CPU تا دسترسی به مموری و بقیه داستانها.
لینکش اینه:
https://go.dev/blog/greenteagc
@DevTwitter | <Ali />
🔥25❤5👍1🍌1
🍌151👎8👍7🔥1
پروژه Cortex یه پسورد منیجر تحت کنسوله که روی راحتی استفاده و امنیت خیلی بالا متمرکز هست و بالاخره بعد از 2 ماه، Cortex V3.0.0 رو منتشر کردم. تغییرات این نسخه برای خودم راضی کنند بود و امیدوارم برای بقیه هم همینجوری باشه. البته که همیشه میشه بهترش رو ساخت.
https://github.com/naseridev/cortex
@DevTwitter | <Nima Naseri/>
https://github.com/naseridev/cortex
@DevTwitter | <Nima Naseri/>
👍20👎5🔥1
تفاوت Access Token و Refresh Token به زبان ساده
در سیستمهای احراز هویت مدرن مثل Keycloak یا IdentityServer،
دوبار اسم «توکن» رو میشنویم:
ولی واقعاً فرقشون چیه؟
Access Token
توکن کوتاهمدتیه (مثلاً ۵ تا ۱۵ دقیقه) که بعد از لاگین کاربر صادر میشه.
هر بار که کاربر به API درخواست میفرسته، این توکن همراه درخواست میره تا سرور بفهمه کاربر کیه.
Refresh Token
طول عمر بیشتری داره (مثلاً ۳۰ دقیقه یا حتی چند ساعت).
اگر Access Token منقضی بشه، سیستم با استفاده از Refresh Token یه Access Token جدید میگیره
— بدون اینکه کاربر مجبور باشه دوباره لاگین کنه.
به زبان ساده Access Token مثل بلیط ورود به یک سالن هست ️
اما Refresh Token مثل کارت عضویت اون سالنه
باهاش میتونی هر بار بلیط جدید بگیری بدون ایستادن تو صف لاگین.
مزیت این روش:
امنیت بیشتر (Access Token کوتاهمدت و ایمنتره)
تجربه کاربری بهتر (کاربر کمتر لاگاوت میشه)
کنترل بهتر سمت سرور روی اعتبار توکنها
در پروژهی اخیرم با Keycloak این مکانیزم رو پیادهسازی کردم.
کاربر بعد از ثبتنام، هم در Keycloak و هم در SQL Server ذخیره میشه تا
میان سیستم احراز هویت و اپلیکیشن اصلی یکپارچگی کامل برقرار باشه.
هر وقت در مورد Authentication کار میکنی،
یادت باشه که هدف فقط «ورود کاربر» نیست —
بلکه «مدیریت ایمن و هوشمند عمر نشست (Session Lifecycle)» هست.
در دنیای Api ها ما موظفیم با توکن ها کار کنیم
در ریزور پیج ها یک ورودی هیدن داشتیم که مدیریت توسط آن توسط خود asp بود
اما در api ها مدیریت توکن ها با ماست
بهترین گزینه هم استفاده از IDP (Identity Provider) هاست چون هم فرانت و هم بک را برای ما پوشش میدهد.
@DevTwitter | <Hossein Molaei/>
در سیستمهای احراز هویت مدرن مثل Keycloak یا IdentityServer،
دوبار اسم «توکن» رو میشنویم:
ولی واقعاً فرقشون چیه؟
Access Token
توکن کوتاهمدتیه (مثلاً ۵ تا ۱۵ دقیقه) که بعد از لاگین کاربر صادر میشه.
هر بار که کاربر به API درخواست میفرسته، این توکن همراه درخواست میره تا سرور بفهمه کاربر کیه.
Refresh Token
طول عمر بیشتری داره (مثلاً ۳۰ دقیقه یا حتی چند ساعت).
اگر Access Token منقضی بشه، سیستم با استفاده از Refresh Token یه Access Token جدید میگیره
— بدون اینکه کاربر مجبور باشه دوباره لاگین کنه.
به زبان ساده Access Token مثل بلیط ورود به یک سالن هست ️
اما Refresh Token مثل کارت عضویت اون سالنه
باهاش میتونی هر بار بلیط جدید بگیری بدون ایستادن تو صف لاگین.
مزیت این روش:
امنیت بیشتر (Access Token کوتاهمدت و ایمنتره)
تجربه کاربری بهتر (کاربر کمتر لاگاوت میشه)
کنترل بهتر سمت سرور روی اعتبار توکنها
در پروژهی اخیرم با Keycloak این مکانیزم رو پیادهسازی کردم.
کاربر بعد از ثبتنام، هم در Keycloak و هم در SQL Server ذخیره میشه تا
میان سیستم احراز هویت و اپلیکیشن اصلی یکپارچگی کامل برقرار باشه.
هر وقت در مورد Authentication کار میکنی،
یادت باشه که هدف فقط «ورود کاربر» نیست —
بلکه «مدیریت ایمن و هوشمند عمر نشست (Session Lifecycle)» هست.
در دنیای Api ها ما موظفیم با توکن ها کار کنیم
در ریزور پیج ها یک ورودی هیدن داشتیم که مدیریت توسط آن توسط خود asp بود
اما در api ها مدیریت توکن ها با ماست
بهترین گزینه هم استفاده از IDP (Identity Provider) هاست چون هم فرانت و هم بک را برای ما پوشش میدهد.
@DevTwitter | <Hossein Molaei/>
👍27👎8🔥3❤1