سؤال

أنا أعمل على مشروع قائم على الويب حيث نستخدم خلاصات Google الخاصة بالمستخدم ونخزن بعض المعلومات عنها في قاعدة البيانات الخاصة بنا. لا نريد جعل المستخدمين يقومون بإنشاء حسابات معنا ، ولكن بدلاً من ذلك يقومون بتسجيل الدخول باستخدام بيانات اعتماد Google الخاصة بهم. من الواضح لي أننا سنحتاج إلى Oauth ، لكنني أتساءل عن الجزء المفتوح. هل هناك معلومات تعريف فريدة حول المستخدم يمكننا الوصول إليها عبر OAUTH لتتبع بياناتهم عبر الجلسات في نهايتنا؟ إذا كان الأمر كذلك ، فماذا سيكون فائدة استخدام OpenID؟

هل كانت مفيدة؟

المحلول

OpenId و Oauth (من الناحية النظرية إن لم يكن في الممارسة) تستخدم لوظيفة منفصلة:

OpenID هي وسيلة لإدارة الهوية وتقليل إنشاء الحساب. مثال: أرغب في استخدام حساب Google الخاص بي لتسجيل الدخول إلى أي مكان أذهب إليه.

OAUTH هي وسيلة لمشاركة المعلومات حول مستخدم بطريقة يتم التحكم فيها ولكنها مفتوحة/قابلة للتشغيل. مثال: أريد السماح لـ Twitter بالوصول إلى جهات اتصال Google الخاصة بي دون الحاجة إلى منح Twitter اسم مستخدم Google وكلمة المرور.

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

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

نأمل أن يساعدك ذلك ويمنحك فكرة أفضل عما تبحث عنه.

نصائح أخرى

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top