Oauth / توییتر آداپتور تایید برای چارچوب Zend
کار ادامه می دهد (به آرامی) در تاریخ جدید من توییتر بر اساس کاربرد. بیش از زن و شوهر بعد از تعطیلات من امیدوارم که برای بدست آوردن شتاب رفتن دوباره بر روی این پروژه (در وجود آب و هوای فوق العاده در حال حاضر). به هر حال ، کار بعدی من بود برای ایجاد یک آداپتور برای تأیید هویت فریم ورک Zend . من تا به حال اجرای کار وارد شوید ، اما با داشتن یک قطره در آداپتور تایید برای Zend چارچوب به نظر می رسید مانند پیشنهاد جذاب ، پس من آن را ایجاد....
(من قصد ندارم به رفتن از طریق Oauth یا ثبت نام درخواست خود را با توییتر ، به هر حال وجود دارد را صدها نفر از راهنما و خود فرایند نسبتا سر راست است.)
تفاوت بین Oauth و آداپتورهای authenication دیگر در چارچوب Zend است که Oauth نیاز به تغییر مسیر به عقب و جلو بین ارائه دهنده oauth و سرور درخواست شده توسط مشتری. بنابراین این فرآیند کاملا مستقیم رو به جلو نه به عنوان به عنوان صرفا به دنبال نام بعضی از جزئیات در یک پایگاه داده و یا چک کردن هدر درخواست. خوشبختانه Zend اجزای چهارچوب ، مانند Zend_Oauth_Consumer ، را بسیار دور از درد و خود را تنها از آداپتور کار احرازهویت را خواستار روش مورد نیاز است.
برای راهنمای استفاده از Zend_Auth و خروج انجام با Zend چارچوب یک جستجو در گوگل ، و یا اتمام این آموزش توسط متی Weier O'Phinney -- ورود و تایید .
استفاده
به منظور استفاده از آداپتور احراز هویت شما نیاز به تصویب در دو جسم از طریق سازنده. اولین نمونه از Zend_Oauth_Consumer برای شما ارائه می کند Oauth مجموعه است. من شده است با انجام این کار با سرویس توییتر و شما می توانید اینجا ببینید سریع یک قطعه در آن -- با ثبت نام در توییتر با استفاده از چارچوب Zend . من با استفاده از اجرای من است به کجا تنظیم کنم؟ "آدرس اجازه" را به عنوان کاربر من نمی خواهم که به خواسته می شود برای دادن اجازه دسترسی به نرم افزار هر بار که آنها تلاش برای ورود به سیستم. پارامتر دوم یک نمونه از Zend_Session_Namespace است که نمونهای با فضای نامی را که می خواهید به جای جزئیات اعتبار است. من در کد من چیزی شبیه به زیر است :
$ پیکربندی آرایه = ( 'callbackUrl' =>... پاسخ به تماس ، آدرس کلیپ... ، 'siteUrl' => 'این مقاله : / / twitter.com / oauth' ، 'consumerKey' => مصرف کننده... کلید... ، 'consumerSecret' =>... مخفی کلید... ، ) ؛ $ مصرفی = Zend_Oauth_Consumer جدید ($ پیکربندی) ؛ $ قابل فروش> setAuthorizeUrl ('این مقاله : / / twitter.com / oauth / تأیید هویت') ؛ $ = Zend_Session_Namespace جدید را وارد نمایید (Pro_Auth_Adapter_Twitter : : AUTH_NAMESPACE) ؛ $ authAdapter = Pro_Auth_Adapter_Oauth جدید ($ مصرفی ، $ را وارد نمایید) ؛
تماس ->authenticate() در آداپتور خواهد شد و سپس) علت تغییر مسیر به Oauth ارائه دهند (باز هم من در مورد توییتر. پس از بازگشت به برنامه به تماس دوم ->authenticate() در واقع خود را انجام و خروج.
اگر شما آرزو کاربر برای بازگشت به صفحه initally درخواست پس از آن ارائه وضعیت خروج خود را در هر درخواست پس از آن به سادگی تنظیم پارامتر 'callBackUrl' مناسب در زمان لود می کاربر را به مقصد خود در نظر گرفته شده در اصل گرفتن بررسی می شود.
یکی از ویژگی های آخرین من اضافه شده بود قابلیت های اضافی ارسال پارامتر با استفاده از addParameter() و setParameters() روش. اضافه کردن این قابلیت اجازه می دهد تا ارسال های اضافی هنگام گرفتن پارامترهای اولیه تغییر مسیر به ارائه Oauth. در مورد من ، این به من اجازه می دهد تا به تصویب یک آرایه با کلید 'force_login و ارزش حقیقی است که نیروهای توییتر به درخواست شما برای ورود مجدد (حتی اگر در حال حاضر به سیستم وارد شده) که فوق العاده است برای چند مرتبط با حساب برنامه های کاربردی.
کد در دسترس است GitHub مخزن من -- احرازهویت آداپتور Oauth برای Zend کد چهارچوب (نظرات خوش آمدید!).
ویرایش : به نظر می رسد مانند کسی که دیگری در مورد شده است نیز هست. دیگر برای اجرای لطفا http://www.jasonawesome.com/2010/11/24/authenticating-to-twitter-with-zend_auth/


















































