كل ما تريد معرفته على الـ OpenID

WebCraker

العبد الفقير إلى الله
طاقم الإدارة
9 مارس 2008
5,670
50
48
Egypt
support-ar.com
السلام عليكــم ورحمـة الله وبركاتــه ،،

اهلا بكم اخوانى الكرام

منذ عدت ايام وانا احضر لكم موضوعا شيقا وهو عن OpenID

بسم الله نبدأ :

أغلب المواقع والخدمات تتطلب إنشاء حسابات خاصة وكلمات سر حتى تتمكن من استخدامها، ومع ازدياد هذه المواقع الخدمات أصبح تسجيل الحسابات في كل واحدة منها وتذكرها فيما بعد أمرا متعبا، ودعت الحاجة إلى توحيد هذه الحسابات وكلمات المرور في حساب واحد يخولك الدخول إلى جميع هذه الخدمات، وهنا ظهر نظام الهوية المفتوحة OpenID.
post-115179-1243243607.png




ما هو OpenID؟

OpenID كتعريف بسيط هو نظام التسجيل والدخول الموحد اللامركزي في المواقع المشتركة في هذا النظام، أي أنه يتيح لك تسجيل حساب واحد للدخول إلى مختلف المواقع والخدمات التي تتيح OpenID من دون الحاجة إلى التسجيل في كل واحدة منها على حدى.

ومع ازدياد الإقبال على هذه الخدمة من قبل لاعبين كبار في مجال الانترنت أمثال Google، Yahoo، AOL، Sun، وMicrosoft أصبح بإمكانك أن تسجل حساب واحد OpenID وتستخدمه في كل هذه المواقع وبذلك تستغني عن عملية تكرار إنشاء الحسابات التقليدية وكل ما عليك أن تحفظه هو اسم نطاقك OpenID URL.

OpenID is growing quickly and becoming more popular as large organizations like AOL, Facebook, France Telecom, Google, LiveDoor, Microsoft, Mixi, MySpace, Novell, Sun, Telecom Italia, Yahoo!, etc. begin to accept and/or provide OpenIDs. Today, it is estimated that there are over one billion OpenID enabled user accounts with over 40,000 websites supporting OpenID for sign in.​



نشوء الفكرة ومن يقف ورائها الآن؟

فكرة OpenID هي من بنات أفكار Brad Fitzpatrick والمعروف بعمله على memcached، وLive-Journal، واليوم يتم دعمها من قبل المؤسسة الغير ربحية The OpenID Foundation والتي تكونت من مجموعة من الشركات، Six Apart، Wikia، وGoogle.


كيف يعمل OpenID؟

يمكنك اختيار ما يعرف بمزودي الهوية المفتوحة OpenID Providers الذي يعجبك، والأهم أن يكون موثوق وآمن، بعد التسجيل ستحصل على حساب الهوية المفتوحة OpenID Identifier وأيضا نطاق الهوية المفتوحة OpenID URL وهذا كل الذي عليك أن تحفظه في المستقبل للدخول على الخدمات والمواقع، هل هناك أسهل من هذا؟

ويمكنك أيضا إن كنت تملك نطاقا أن يكون هو معرفك للهوية المفتوحة OpenID Identifier، أو أن تصبح واحدا من المزودين للهوية المفتوحة.

اذا وباختصار نقول انك لكى تسجل يتطلب الامر ان تحمل OpenID Identifier والذى يمكن ان تحصل عليه من اى OpenID Providers والتى اختصارها idp
دعنا نشرح هذه المفاهيم باستخدام الفيديو مرة اخرى :

http://www.youtube.com/watch?v=xcmY8Pk-qEk

وهذا ايضا
http://video.google.com/googleplayer.swf?d...60643&hl=en

نلاحظ ان امر التسجيل فى المواقع اصبح سهلا جدا وانك لا تحتاج الى ان تتحمل سجل باسوردات لكل المواقع التى تسجل بها


هل OpenID آمن بما فيه الكفاية؟

في الحقيقة قد لاقى المشروع بعض النقد في مدى أمنه، حيث أنه معرض لعمليات التصيد phishing attacks، على سبيل المثال عندما تريد تسجيل دخولك في خدمة سيتم تحويلك إلى صفحة مشبوهة، وبعد إعطاء معلومات دخولك في هذه الصفحة يتمكن صاحب الخدمة من الحصول على هذه المعلومات السرية والدخول على حسابك OpenID.

لذلك اخوانى اطلب منكم انكم تصنعوا اثنين OpenID ويكون الاول للمواقع التى تهتم بها وتثق بها وال OpenID الاخر لباقى المواقع والمنتديات التى تدخلها عابرا



كيف تحصل على OpenID

الاولى ان تستخدم المواقع التى تتيح لك هذه الخدمه ومن اشهرها موقع myopenid.com والتى يتيح لك ان تصمم ال Profile الخاص بك ويعطيك subdomain يمكن لك ان تستخدمه كا OpenID

طريقة التسجيل هى كالاتى :

post-115179-1243243438.jpg


post-115179-1243243453.jpg


هناك ايضا العديد من المواقع مثل موقع www.vox.com واخرى تجدها هنا http://openid.net/get/
وايضا موقع http://claimid.com/

لاحظ ايضا ان ال OpenID Provider سوف يكون قادر على الاطلاع على كل المواقع التى تسجل بها وسوف يكون قادر على الدخول على هذه المواقع بحسابك واستعمال الموقع كانك انت لذلك لابد لك ان تتاكد من انك تتعامل مع OpenID Provider موثوق فيه

الطريقة الثانية وهى ان كلا من شركة Yahoo و GMail وايضا Hotmail وفرت لكل صاحب ايميل OpenID اذا يحب ان يستخدمه
فمثلا الياهو ومن استخدامى فهى افضل موفر OpenID من بين الثلاث شركات (بسبب استخدامها لتقنية Sign-In Seal ) فقط ادخل على الرابط http://openid.yahoo.com/ وقوم بالتسجيل وستجد لنفسك رابط OpenID يمكن لك ان تستعمله
كما ان الياهو توفر لك عدم حفظ رابط ال OpenID الخاص بك وتكتفى ان تكتب yahoo.com فى مكان عنوان ال OpenID URL ثم تحولك اى صفحة التسجيل واذا كتبت اسم المستخدم وكلمه السر بشكل صحيح تحقق ال Authentication وهذا كله بدون حفظك لOpenID URL



ماذا عن تقنية Sign-In Seal :

ماذا اذا دخلت على موقع لكى تسجل باستخدام ال OpenID ثم بعد ذلك اظهر لك صفحة كصفحة الياهو وكانت هذه الصفحة مزوره طبعا ممكن لك ان تخطأ وتكتب بريدك وكلمه السر الخاصة به وهذا ما يرجوه هذا الموقع السيئ
لذلك اتجهت شركة Yahoo فى ان تحمى انت حسابك من خلال ان تجعل لنفسك صورة او جملة تظهر لك عندما تريد ان تسجل دخولك الى صفحتهم
وهذه الفكرة سوف تمنع اى موقع يزيف صفحة طبق الاصل من صفحة تسجيل الدخول الخاصة بالياهو فى ان يكتشف وتعرف ان هذه الصفحة مزيفه
لانك ببساطه كما تقول ياهو انك لابد لك الا تكتب كلمه السر الخاصة بك ما دمت لا ترى الصورة او العبارة التى المفروض انك قد وضعتها

post-115179-1243243570.jpg



post-115179-1243243583.jpg



post-115179-1243243595.jpg




ايضا يمكنك ان تحصل على حساب OpenID من خلال حسابك على الجيميل من خلال ان تسجل فى هذا الرابط http://openid-provider.appspot.com/
وسوف تحصل على رابط يتيح لك استخدامه ك OpenID


post-115179-1243243401.jpg




post-115179-1243243415.jpg




post-115179-1243243426.jpg


الطريقة الثالثة وهى اضافة رائعه للفايرفوكس وهو اضافة VeriSign's OpenID SeatBelt Plugin وتتيح لك OpenID بطريقة جيدة وسهلة

الطريقة الرابعه وهى انك تجعل من موقعك OpenID Provider وبهذا فانت يمكن لك ان تتيح هذه الخدمه لك وفائدة هذه الفكرة انه لايوجد من يراك ومن يرى اى المواقع التى تسجل بها ولكن قصاد ذلك فانت لابد ان تتابع التحديثات على الاسكربت المستخدم لسد الثغرات التى تظهر وايضا لابد لك ان يكون موقع محمى حتى تحمى حسابك OpenID

اسكربت بسيط جدا وهو اسكربت phpMyID وهو عبارة عن ملفين php حملهم الى جهازك وغير فى الاعدادات ثم قم برفعهم على موقعك
لتحميل الاسكربت من الرابط http://siege.org/projects/phpMyID/

قم باعادة تسميه ملف MyID.config.php الى index.php
ثم افتح هذا الملف وقم باجراء التعديلات عليه كمثل التالية :

PHP:
/**
 * User profile
 * @name $profile
 * @global array $GLOBALS['profile']
 */
$GLOBALS['profile'] = array(
    # Basic Config - Required
    'auth_username'    =>     'eramax',
    'auth_password' =>    '36F6AEE2C4C08485C0F09C4774941D27',

    # Optional Config - Please see README before setting these
#    'microid'    =>    array('mailto:user@site', 'http://delegator'),
#    'pavatar'    =>    'http://your.site.com/path/pavatar.img',

    # Advanced Config - Please see README before setting these
    'allow_gmp'    =>    false,
    'allow_test'    =>     false,
    'allow_suhosin'    =>    false,
    'auth_realm'    =>    'E957833311D$$%%^^8084ACF31BD9CE629',
    'force_bigmath'    =>    false,
    'idp_url'    =>    'http://era-id.110mb.com/id/index.php',
    'lifetime'    =>    1440,
    'paranoid'    =>    false, # EXPERIMENTAL

    # Debug Config - Please see README before setting these
    'debug'        =>    false,
    'logfile'    =>    '/tmp/phpMyID.debug.log',
);

/**
 * Simple Registration Extension
 * @name $sreg
 * @global array $GLOBALS['sreg']
 */
$GLOBALS['sreg'] = array (
    'nickname'        => 'Ahmed',
    'email'            => 'ahmed@eramax.net',
    'fullname'        => 'Ahmed Esam',
#    'dob'            => '1970-10-31',
    'gender'        => 'M',
    'postcode'        => '71111',
    'country'        => 'EG',
    'language'        => 'AR',
    'timezone'        => 'America/New_York'
);


تلاحظ انى لم اكتب كلمه السر بل كتبت ال md5 الخاص ب

PHP:
”username:auth_realm:password”



حيث قم باستبدال username باسم المستخدم الذى تود ان تستعمله
واستبدل auth_realm بما تضعه فى هذه الخانه وهى عبارة عن نص عشوائى يصعب من ال md5 وايضا يظهر لك عندما تعطى كلمه السر كزيادة من الامان مثل حكاية Sign-In Seal
قم ايضا باستبدال password بكلمه السر الخاصة بك

كيف توجد كلمه md5 لهذا الفقرة
http://www.xs4all.nl/~jlpoutre/BoT/Javascr...d5_hashing.html
ادخل عليه وكود الفقرة واكتبها به وانسخ ال md5 الناتج
كمثل هذه الصورة


post-115179-1243243602.jpg


بعد ذلك ارفع الملفان index.php وملف MyID.php الى مجلد فى موقعك ولاتنسى ان تغير idp_url (الموجوده فى ملف index.php )الى رابط هذا المجلد

بعد ذلك اختبر هذا idp قبل بدء العمل معه من خلال الموقع http://www.openidenabled.com/resources/openid-test/checkup/

ادخل عليه وقم بوضع رابط كامل لمجلدك الذى به وضعت الاسكربت


post-115179-1243243315.jpg



ثم حاول تسجيل الدخول Try Logging

post-115179-1243243327.jpg




post-115179-1243243340.jpg



اذا ظهرت لك كلمه Pass فمبروك عليك انت الان idp

الطريقة الخامسه وهى عن طريق موقع http://chi.mp/getting_started
وهو موقع كمثل موثع myopenid ويكون يعطيك نطاق كامل باسم
eramax.mp ويكون بامتداد mp وهذا الموقع يمكن لك ان تستخدمه ك idp لنفسك فقط ويكون قد سطب مسبقا اسكربت شبيه ب phpMyID

كيفية استخدام OpenID

اولا نبدأ ب ipb 3 beta
http://forums.invisionpower.com/


post-115179-1243243466.jpg




post-115179-1243243476.jpg




post-115179-1243243486.jpg




post-115179-1243243501.jpg




post-115179-1243243525.jpg



post-115179-1243243552.jpg




laugh.gif


ثانيا موقع http://www.contails.com/index.html

post-115179-1243243353.jpg



post-115179-1243243365.jpg




post-115179-1243243376.jpg



post-115179-1243243391.jpg



وهكذا فالمواقع كثيرة.....

هناك اضافة خاصة بال wordpress تتيح لك ان يستخدم زوار مدونتك ال OpenID ورابطها http://wordpress.org/extend/plugins/openid/

هذه قائمة بمزودى ال OpenID على الرابط http://en.wikipedia.org/wiki/List_of_OpenID_providers

هذه قائمة بمجموعة كبيرة من الاسكربتات الجاهزة التى تتيح لك ان تكون مزود OpenID بالعديد من اللغات منها php و asp :
http://wiki.openid.net/Run_your_own_identity_server


هناك مشكلة واحدة حتى الان وهى مشكلة كيفية ربط حسابك القديم بحسابك الجديد فهذه مشكلة لم تحل بعد فمثلا حسابى على الفريق العربى باسم eramax وعندما اعمل حساب جديد باستخدام ال OpenID الخاص بى فلا يوجد اداة تلقائية دمج المعرفان سوى ان تخاطب الادارة لدمجهما معنا


الخلاصة:-

خدمة الهوية المفتوحة OpenID سهلت كثيرا مهمة كانت صعبة من تكرار تسجيل الحسابات وتذكرها فيما بعد في المواقع والخدمات وجعلتها في تسجيل واحد، ومع بعض الشكوك في مدى أمنها وحفظها للمعلومات، يبقى مشروعا طموحا، وعندما نرى استحسان عمالقة شركات الانترنت له ودعمه من المؤكد أنه سيلاقي نجاحا كبيرا في المستقبل.

اتمنى ان يكون الموضوع قد افادكم صراحتا عن نفسى سعيد جدا بهذه الفكرة الاكثر من رائعه والتى ارى فيها ان ستطور ابعادها واستخداماتها الى اكثر من ذلك


المصادر :
http://openid.net/what/
http://www.almashroo.com/articles/%D9%86%D...4%D9%89-openid/
http://www.lildude.co.uk/howto-setup-your-...penid-provider/
http://www.arabteam2000-forum.com/index.php?showtopic=195685

 

ALALMASEE

عضو جديد
6 أغسطس 2008
7
0
0
السلام عليكم

ما شاء الله موضوع جميل ومجهود اجمل
معلومات شيقة فعلا ونتمنى ان نراها في القريب ولكن بأمان أكثر :)
اصحاب القلوب الضعيفة ما تصدق تلقى ثغرة عشان تلعب على كيفها

دمت سالما اخي WebCraker

تمنياتي للجميع بالتوفيق
 

miss chanel

عضو جديد
14 أكتوبر 2009
26
0
0
مجهود رائع .. لكـ جزيل الشكر
معلومات قيمة بطرح مميز
دمت متالق .. بانتظار جديدكـ
تقبل مروري
 

اسامة العزاوي

عضو جديد
3 مارس 2009
305
0
0
السلام عليكم

الشكر للأخ العزيز ع هذا الشرح


ولكن اقدر اعرف ماهو فائدة لنا .. هذا ..؟؟