مرور فناوری OpenID و اهمیت استفاده از آن در وب منبع‌باز

هویت منبع‌باز امن

فناوری OpenID، بخش مهمی از زیرساخت وب آزاد است. قابلیت شناسایی کاربران بدون اتکا به یک دروازه محلی باعث می‌شود وب‌سایت‌ها در زمین بازی یکسانی به ‌رقابت بپردازند.
کد خبر: ۳۵۱۶۵۷

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

باید قبول کرد اوپن‌آی‌دی در ابتدای ظهورش مشکلات زیادی داشت. پیش از آن‌که اوپن‌آی‌دی به‌ این اندازه محبوب شود و تقریبا همه‌جا حضور داشته باشد، برای کاربران کاملا ناآشنا بود و نمی‌شد آن را از دیگر سیستم‌های تک‌ورودی (Single Sign-on) جدا دانست. به‌علاوه آن‌که ابزارک ورود اوپن‌آی‌دی از مشکل نسکار رنج می‌برد (مشکل نسکار مشکلی است که کاربر با لوگوهای کوچک زیاد و توضیحات اندک مواجه می‌شود). به‌ نظر می‌رسید این فرآیند استاندارد در باتلاق فرو می‌رود و فناوری‌های دیگری چون OAuth توجه توسعه‌دهندگان را به ‌خود جلب کرده است.

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

پشتیبانی پیش‌فرض از اوپن‌آی‌دی

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

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

پلون نیز در نگارش 3 به بعد خود به‌صورت پیش‌فرض از اوپن‌آی‌دی استفاده کرد. به‌دلایل امنیتی، پلون کاربران اوپن‌آی‌دی را در گروه با دسترسی پایین «ثبت‌نام کرده» قرار می‌دهد ولی مدیریت سایت می‌تواند این دسترسی پیش‌فرض را تغییر داده تا کاربران ورودی بتوانند به ‌همه بخش‌ها دسترسی داشته باشند.

دو پروژه منبع‌باز ویکی نیز به‌صورت پیش‌فرض از قابلیت‌های اوپن‌آی‌دی استفاده می‌کنند.

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

در حال حاضر، SMF تنها سیستم انجمن‌های تحت وبی است که از قابلیت اوپن‌آی‌دی استفاده‌ می‌کند. آخرین نگارش SMF را می‌توان از وب‌سایت پروژه این گروه دریافت کرد، اما هنوز بین کاربران با ثبت نام مستقیم و کاربران با شناسه اوپن‌آی‌دی تفاوت وجود دارد.

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

پشتیبانی از طریق پلاگین

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

به‌عنوان مثال سیستم بلاگ‌نویسی وردپرس، پلاگین مطمئنی دارد که هم از اوپن‌آی‌دی برای شناسایی کاربران استفاده می‌کند و هم برای شناسایی نظر‌دهندگان یک وبلاگ، اما به ‌دلیل مشکلات همخوانی که ممکن است پیش بیاید، تنها برای نگارش 8/2 قابل استفاده است.

همچنین نرم‌افزار محبوب phpBB که برای انجمن‌های تحت وب استفاده می‌شود از پلاگین برای پشتیبانی از OpenID‌ استفاده می‌کند. در حال حاضر پلاگین این سیستم با آخرین نگارش phpBB کار می‌کند اما در درازمدت ممکن است از نگارش API اوپن‌آی‌دی عقب بیفتد.

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

همچنین این سیستم قابلیت منحصربه‌فردی دارد که مدیریت وب‌سایت در آن می‌تواند کاربران اوپن‌آی‌دی را محدود به استفاده از چند سرویس خاص اوپن‌آی‌دی کند.

سیستم مدیریت محتوای زوپس (Xoops) و نرم‌افزار XoopsCube نیز می‌توانند از طریق یک ماژول اوپن‌آی‌دی را به قابلیت‌های خود اضافه کنند. در این نرم‌افزارها، باید بعد از نصب تنظیماتی انجام داد تا اوپن‌آی‌دی به‌طور کامل به سیستم اضافه شود، اما روند انجام کار به‌طور کامل مستندسازی شده است و نگرانی خاصی از این بابت مدیریت فنی وب‌سایت را تهدید نمی‌کند.

ماژول‌های اوپن‌آی‌دی برای سیستم‌ مدیریت محتوای WebGUI نیز وجود دارند و اعلام شده از نگارش بعدی به هسته این سیستم می‌روند. چند سالی است که به‌صورت پایدار از اوپن‌آی‌دی در این سیستم استفاده می‌شود.

سیستم مدیریت و رهگیری باگ‌های Trac نیز از پلاگین‌های اوپن‌آی‌دی پشتیبانی می‌کند و شاید تنها سیستم رهگیری باگی باشد که از این قابلیت پشتیبانی می‌کند. در صفحه پلاگین این سیستم، اطلاعات مرتبط با همخوانی و نصب اوپن‌آی‌دی قرار داده شده است. نگارش 11/0 این سیستم در حال حاضر تنها سیستمی است که این قابلیت را استفاده می‌کند.

بسترهای اوپن‌آی‌دی

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

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

بهترین وب‌سایت برای بررسی پشتیبانی از اوپن‌آی‌دی از زبان مورد نظر شاید ویکی خود سایت باشد. صفحه کتابخانه‌ها فهرست به‌روزی از تمام پروژه‌های فعال اوپن‌آی‌دی ارائه داده و به ‌ترتیب بستر و زبان برنامه‌نویسی آن را مرتب کرده که می‌توان این صفحه را منبع خوبی برای دریافت اطلاعات روز دانست.

اگر تمام موارد بالا به استفاده ساده از اوپن‌آی‌دی منجر نشد، می‌توان از نو یک روش جدید برای اتصال به‌ سیستم شناسایی کاربر اوپن‌آی‌دی نوشت. شاید ساده‌ترین روش برای استفاده از اوپن‌آی‌دی، فعال‌سازی ماژول mod_auth_openid باشد که قابلیت‌های ورود به سیستم را مستقیما در آپاچی وارد می‌کند. البته این ماژول به SQLite و libopkele بستگی دارد، اما می‌توان آن را از طریق فایل httpd.conf مدیریت کرد و مثلا این‌که اطلاعات اوپن‌آی‌دی در کوکی‌ها ذخیره شود یا خیر را در آن فایل تنظیم کرد.

تکه‌های گمشده

هر چند بخش عمده‌ای از سیستم‌های مدیریت محتوا از اوپن‌آی‌دی استفاده می‌کنند که در بالا اسامی آنان ذکر شد، اما هنوز سیستم‌های زیادی هستند که از این پروژه بهره نمی‌برند.

جوملا یکی از همین سیستم‌ها است که هنوز از اوپن‌آی‌دی پشتیبانی نکرده است. آخرین تلاش این سیستم برای عرضه جوملا 5/1 به ‌همراه این پلاگین به ‌دلیل عدم‌همخوانی با نگارش API به ‌شکست منجر شد.

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

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

محمدرضا قربانی

newsQrCode
ارسال نظرات در انتظار بررسی: ۰ انتشار یافته: ۰

نیازمندی ها