سیستم عضویت و ورود یکپارچه برای کاربران وردپرس
با ازدیاد سایت هایی که کاربر باید در آنها ثبت نام کند و وارد حساب خودش شود تا بتواند از خدمات آن سایت استفاده کند، یکی از کارهای سختی که اشخاص باید مدام در حال انجام دادنش باشند، وارد کردن نام کاربری و رمز عبور در فرم های ورود متفاوت است! اگر شما هم چند تا سایت وردپرس دارید یا با همکاری دیگر سایت های وردپرسی می خواهید سیستم عضویت و ورود یکپارچه طراحی کنید، این مطلب را حتماً مطالعه نمایید. بدین ترتیب کاربران سایت شما تنها درون یک سایت ثبت نام می کنند و وارد حساب خودشان می شوند. بعد از آن دیگر نیازی به ورود در دیگر سایت ها نخواهند داشت. چرا که از قبل به صورت وارد شده به حساب خودشان هستند.
به این سیستم ثبت نام و عضویت، ورود یکپارچه گفته می شود که در این میان باید یک سیستم واسط حتماً وجود داشته باشد. در این سیستم واسط اطلاعات تمامی کاربران روی آن ذخیره می شود و زمانی که کاربری وارد یکی از سایت های عضو شبکهٔ یکپارچه می شود، بررسی می گردد که آیا درون دیگر سایت های شبکهٔ ورود حساب دارد و آیا وارد حسابش شده است یا خیر. اگر حساب داشت و وارد حسابش شده بود، کاربر را در حالت ورود به حساب محسوب می کند و تمامی امکانات سایت برای وی فراهم شده و به نمایهٔ خودش دسترسی خواهد داشت.
پیاده سازی این سیستم به تنهایی کار سختی است. که اجازه نمی دهد هر کسی قادر باشد از یک چنین امکانی استفاده کند. به همین دلیل از قبل توسعه دهندگان افزونهٔ وردپرس، به این چالش فکر کردند و افزونه هایی برای این امر ایجاد نموده اند. این افزونه ها بر اساس همان سامانهٔ مرکزی عمل می کنند که اطلاعات کاربران را در آنجا ذخیره می نمایند.
سیستم عضویت و ورود در وردپرس شبکه
اما قبل از اینکه به سراغ این افزونه ها و معرفی شان برویم، بد نیست راجع به امکان خودِ عضویت وردپرس در حالت چند سایته یا وردپرس شبکه کمی بحث کنیم. که اگر این امکان برای شما کفایت کرد، دیگر به سراغ افزونه های جانبی برای امر ورود یکپارچه نروید.
همانطور که آگاه هستید، وردپرس دارای حالت شبکه هم هست. که در این حالت شما قادرید چندین سایت با استفاده از یک نصب وردپرس ایجاد کنید. یا اصطلاحاً اقدام به راه اندازی سامانهٔ وبلاگ دهی روی وردپرس کنید. کاربرانی که روی شبکهٔ وردپرس اقدام به ثبت نام می کنند، می توانند روی تمامی یا بخشی از سایت ها ورود یکپارچه داشته باشند. که راجع به این موضوع بحث خواهیم کرد.
در حالت فعال بودن وردپرس شبکه یا وردپرس چند سایته، زمانی که مدیر کل به صفحه تنظیمات در پیشخوان وارد می شود، می تواند تعیین کند که ثبت نام به چه صورت باشد.
گزینه اول که ثبت نام را غیر فعال می کند. در صورت فعال بودن گزینهٔ دوم، بازدید کننده قادر است به عنوان مشترک (Subscriber) در سایت های زیر مجموعهٔ شبکه عضو گردد. در این حالت کاربر می تواند وارد پیشخوان مربوط به خود شده و نمایهٔ خودش را ویرایش کند. اگر کاربری با این روش عضو یکی از سایت های شبکهٔ وردپرس گردد، روی دیگر سایت ها هم قادر است بدون نیاز به ثبت نام ورود کند. پس ورود یکپارچه روی تمامی سایت های شبکه در این حالت وجود خواهد داشت.
اگر حالت سوم (کاربرانی که به حساب کاربری خود وارد شدند می توانند سایت های تازه ثبت کنند)، فعال باشد فقط کسانی که حساب ایجاد کردند و وارد حساب خود شدند می توانند سایت تازه هم روی شبکه برای خود ایجاد کنند. در این حالت هم ورود یکپارچه وجود خواهد داشت.
حالت آخر یعنی «سایت ها و حساب های کاربری قابل ثبت هستند» هم امکان ثبت نام کاربر بدون ساخت سایت و هم امکان ساخت و ایجاد سایت روی شبکه را برای همگان فراهم می کند. در این حالت هم ورود یکپارچه وجود خواهد داشت.
پر هر کدام از گزینه های تنظیمات نام نویسی وردپرس، به غیر از گزینهٔ اول که فعال باشد، اگر کاربری روی یکی از سایت ها ثبت نام کند، در اصل برای تمامی سایت ها روی شبکهٔ وردپرس ثبت نام خودش را تکمیل کرده است. پس وقتی وارد حسابش می شود، وارد هر سایتی که روی شبکه وجود دارد گردد، همچنان وارد حساب خودش خواهد بود. این قابلیت یکی از مهم ترین ملاک هایی است که افراد نصب وردپرس شبکه را ترجیح می دهند. اگر کاربری نیاز داشته باشد که روی تمامی سایت ها حساب داشته باشد، وردپرس شبکه این نیاز را به صورت خودکار برطرف می کند.
محدود کردن ثبت نام فقط برای یک سایت روی وردپرس شبکه
حالا که فهمیدیم ثبت نام یکپارچه به صورت اجباری روی وردپرس شبکه به هر حال فعال است، اگر خواسته باشیم کاربران عضو شدهٔ یک سایت ارتباطی با دیگر سایت ها نداشته باشند، باید چه کار کرد؟ در این حالت افزونه ای به نام Network Subsite User Registration وجود دارد که کارش این است که در صفحهٔ تنظیمات کاربران مدیر یک زیر سایت، گزینه ای را اضافه می کند که بتواند ثبت نام اختصاصی برای سایت خودش را فعال یا غیر فعال کند. این گزینه تنظیمی را در تصویر زیر شاهد هستید.
با فعال کردن این گزینه، حالا کسانی که درون همین یک سایت ثبت نام می کنند، دیگر قادر به ورود به دیگر سایت ها با همین مشخصات نام کاربری و رمز عبور نیستند. این راه حل می تواند برای کسانی که به دنبال جدا کردن عضویت و ورود یکپارچه برای سایت های روی وردپرس شبکه هستند خیلی مفید باشد. که حالا راجع به این افزونه هم در آموزش های دیگر سایت حتماً توضیحات تکمیلی ارائه خواهد شد.
ورود یکپارچه روی چندین سایت جداگانه وردپرسی و غیر وردپرسی
اما زمانی که ما چند تا سایت داشته باشیم که به صورت جداگانه با استفاده از وردپرس یا حتی سیستم های مدیریت محتوای دیگر راه اندازی شده باشند، چطور باید سیستم عضویت و ورود یکپارچه را روی آنها به اجرا درآورد؟
برای این کار هم همانطور که در ابتدای این مقاله خدمت شما عرض شد، نیاز به سیستم مادر می رود. این سیستم مادر توسط توسعه دهندگان افزونهٔ وردپرس ایجاد شده و شما فقط باید آن را روی سایت های خود نصب و سپس پیکربندی نمایید.
یکی از این افزونه ها Single Sign-On SSO می باشد. اگر این افزونه را روی سایت های خود نصب کنید و اتصال آن را به حساب خود در سایت oneall.com برقرار کنید (که این سایت همان سرویس مادر قلمداد می شود)، اگر کاربری روی یکی از سایت های مجموعهٔ شما حساب بسازد و وارد آن شود، با وارد شدن به دیگر سایت های مجموعهٔ شما سیستم تشخیص داده و با وی به عنوان یک کاربر وارد شده (Login) رفتار می کند.
این افزونه از SSO API استفاده می کند که مستندات آن را در مرکز آموزش خود سایت مذکور می توانید ببینید. حتی روی هر نوع سایت دیگری که افزونه ای هم برای آن وجود ندارد، با برنامه نویسی قادرید یک چنین سامانهٔ ورود یکپارچه را بر بستر SSO ایجاد نمایید. به همین دلیل گفته می شود که هیچ محدودیتی برای اتصال هر نوع سایتی به این شبکه وجود ندارد. البته برای وردپرس از قبل افزونه ای برای همین کار نوشته شده که شما قادرید بدون برنامه نویسی برای وردپرس، سایت های وردپرسی خودتان را با این افزونه به هم متصل کنید. راجع به این افزونه هم توضیحات و آموزش های مکمل به شما ارائه می شود.
دیگر افزونه های یکپارچه سایت عضویت و ورود وردپرس
به غیر از افزونه ای که در بالا به آن اشاره کردیم، حتی موارد بیشتری هم هستند که ورود یکپارچه را برای سایت های وردپرسی شما مهیا کرده اند. برای اینکه عنوان هر کدام مطلع شوید، سری به مخزن افزونه های وردپرس بزنید و عبارت Single Sign-on را جستجو کنید. البته این لینک شما را به چنین مقصدی خواهد برد.
در آن صفحه افزونه هایی مثل OAuth Client (Single Sign On) و Login by Auth0 و SAML SP Single Sign On – SSO را خواهید دید که هر کدام ویژگی های خاص خودشان را دارند. با مقایسهٔ همه، می توانید بهترین مورد را برای رفع نیازتان انتخاب نمایید.
جمع بندی
آموزش سیستم عضویت و ورود یکپارچه برای کاربران وردپرس را خدمت شما تقدیم کردیم که امیدوارم توانسته باشیم نظر شما را جلب نماییم. این سیستم برای اینکه کاربران نخواسته باشند مدام روی چندین سایت ثبت نام کنند و وارد حساب خود شوند، بسیار مفید است. با انجام این روش، تجربهٔ کاربری روی سایت ما بهبود خواهد یافت و کاربران سایت رضایت بیشتری کسب خواهند نمود. یادمان باشد که به عنوان مدیر سایت همیشه باید کاری کنیم که زحمت اضافی را از دوش کاربران برداریم.