مكتبة Janrain php ونقطة نهاية Google لـ OpenId
-
22-07-2019 - |
سؤال
أنا أستخدم مكتبة janRain Php لاكتشاف OpenId وyadis وبغض النظر عما أفعله، سأعمل في أشياء مثل user.openid.org أو المزود الخاص بي، ولكن إذا حاولت استخدام نقطة نهاية google، فلن أتمكن من الحصول على أي معلومات اكتشاف.
حتى لو قمت بتشغيل مثال الاكتشاف لمكتبة جانرين، سأحصل على النتيجة التالية التي تمت المطالبة بها
Identifier http://www.google.com/accounts/o8/id
No OpenID services discovered.
ويحدث نفس الشيء إذا أضفت https:// قبل عنوان url.
ربما لا يكون سؤالي هو كيفية إنجاحه، ولكن إذا كان ذلك ممكنًا بالفعل، فما هي الخيارات الأخرى المتاحة لي (التي يتم تشغيلها في موقعي، ولا أريد مصادقة وقحة في المشروع).
لماذا يعتبر openId #@!#@ معقدًا وغير موثق؟ (لاحظ أنني أعطيت zend_openid بضع ساعات للحصول على نفس النتيجة)
المحلول
انها تعمل هنا.بعض التلميحات:
- كما أفهمها،
http(s)://www.google.com/accounts/o8/id
ليست نقطة نهاية openid، ولكن googles اكتشاف نقطة النهاية.عليك أن تزوده بمعرف OpenID صالح (google)، مثلexample.blogspot.com
, ، والتي تُرجع لها المعرف المُطالب به، وعنوان URL للخادم، وأنواع الخدمة، وما إلى ذلك. - حصلت على مثال الاكتشاف الذي يعمل فقط بعد إصلاح
<?
و<?=
فيdiscover.php
(استبدالهم ب<?php
و<?php echo
).بدلا من ذلك، يمكنكini_set('short_open_tag', '1')
.تم إيقافه بشكل افتراضي فيphp.ini-recommended
. - هل يدعم تثبيت PHP الخاص بك SSL؟يرى التمهيدي, ، وتحديداً هذا الجزء:
Not all PHP installations support SSL. You can find out if yours supports SSL by reading the "HTTP Fetching" section of the output of "examples/detect.php." If your installation does not support SSL, then https:// identity URLs and server URLs will not be supported by the library. An attempt to use such an identity URL will be equivalent to using an invalid OpenID. To enable SSL support, recompile PHP with OpenSSL support or install the appropriate OpenSSL module for your platform. If you are using CURL, CURL will need to be built with OpenSSL support.
نصائح أخرى
وهذا هو لحوم البقر المشروعة. وتقول جوجل أنها تدعم رض، ولكن لهم لا يعمل مثل أي شخص إلسس. MyOpenID.com، بلوغسبوت، أمريكا أون لاين، ياهو، وورد، ماي سبيس، لايف جورنال وغيرها الكثير كل دعم معيار صحيح وأنه يعمل كما هو متوقع. وكذلك مزود رض الخاصة بك يمكنك بناء باستخدام مشروع خادم CommunityID.
و/ تنفس الصعداء
ما عليك القيام به طلب هوية توجيهات. عادة ينطوي على مجرد تمرير URL كما لو أن المستخدم قد دخلت عليه ... وهذا ما دائما عملت بالنسبة لي في الماضي (طالما المكتبة استخدام الدعم OpenID2.0).
أقترح عليك أن تنظر إلى هذا السؤال: PHP-OpenID الخاص بـ Janrain وGoogle/Yahoo