401 خطأ مع روبي أوث تويتر
-
30-09-2019 - |
سؤال
شي كنت تعمل لعدة أيام للحصول على تويتر المصادقة مع روبي, ولكن أنا ليس لدي أي حظ.
أول محاولة لي كان شيئا من هذا القبيل:
class TwitterController < ApplicationController
def index
@callback_url = "http://dev.twipler.com:3000/twitter/auth"
@auth= TwitterOAuth::Client.new( :consumer_key => "xxx", :consumer_secret => "xxxxxxxxxxxxxxxxx" )
@rtoken = @auth.request_token :oauth_callback => @callback_url
@token = @rtoken.token
@secret = @rtoken.secret
@link = @rtoken.authorize_url
session['token' ] = @token
session['secret'] = @secret
redirect_to @link
end
def auth
@auth.authorize_from_request(session[:rtoken], session[:rsecret], params[:oauth_verifier])
end
end
و بطريقة مماثلة ولكن مع تويتر جوهرة, و نفس الشيء مع أوث جوهرة مباشرة.بغض النظر عن ما أوث::المستهلك::token_request يموت مع الخطأ 401.
لذا من اليأس حاولت git clone Snitter, إضافة بلدي تويتر creds, وحاول, لكنه أيضا يموت مع 401.
لقد حاولت استخدام localhost:300/تويتر/مصادقة http://dev.twipler.com:3000/twitter/auth, و قليلا.ly لكل من السابق 2.لا شيء يعمل.
أي مساعدة ؟
تحرير:بالطبع أود أن تنسى أن تفعل الشيء الأكثر منطقية للقيام وحذف أسراري.(لقد تم تغيير ;)).
المحلول
قد تحتاج إلى تحرير المستهلك الخاص بك سرية.مع أن أي شخص يمكن أن تجعل الطلبات نيابة عن التطبيق الخاص بك.
وقال التأكد من النظام الخاص بك وقت مزامن إلى ملقم ntp.إذا كان النظام الخاص بك الوقت قد جنحت سريعة أو بطيئة ، أوث الطلبات سوف تفشل ، منذ تشمل الزمني و قصيرة نسبيا TTL.كان هذا المشكلة بالضبط في حين يعود.
إذا تعذر ذلك ، يمكن أن الكراك فتح أوث جوهرة وتشغيل HTTP التصحيح التي سوف تظهر لك كاملة HTTP المعاملة بما في ذلك أي رسالة الخطأ التي تم إرجاعها.