2012-06-13 2 views
1

나는 LinkedIn Ruby Gem을 사용 중이며 문제가 있습니다. 다음은 레일 서버의 출력입니다. 여기 링크드 인 Ruby Gem (콜백에서 거부 된 토큰)

Started GET "/session/callback?oauth_token=618b3bc2-d8f6-4c9c-99a2-10573c8b3c3c&oauth_verifier=09858" for 127.0.0.1 at Tue Jun 12 19:14:11 -0700 2012 
Processing by SessionController#callback as HTML 
    Parameters: {"oauth_verifier"=>"09858", "oauth_token"=>"618b3bc2-d8f6-4c9c-99a2-10573c8b3c3c"} 
Completed 500 Internal Server Error in 163ms 

OAuth::Problem (token_rejected): 
    app/controllers/session_controller.rb:28:in `callback' 


    Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.2ms) 
    Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms) 
    Rendered /Library/Ruby/Gems/1.8/gems/actionpack-3.2.3/lib/action_dispatch/middleware/templates/rescues/diagnostics.erb within rescues/layout (12.9ms) 

내 session_controller.rb의 코드입니다 : 나는 또한 랜덤 액세스 문제가

require 'linkedin' 

class SessionController < ApplicationController 

    def login 

    # get your api keys at https://www.linkedin.com/secure/developer 
    client = LinkedIn::Client.new(APP_CONFIG['linkedin']['apikey'], APP_CONFIG['linkedin']['secret_key']) 
    request_token = client.request_token(:oauth_callback => 
             "http://#{request.host_with_port}/session/callback") 
    session[:rtoken] = request_token.token 
    session[:rsecret] = request_token.secret 

    redirect_to client.request_token.authorize_url 

    end 

    def logout 
    session[:atoken] = nil 
    redirect_to :root 
    end 

    def callback 

    client = LinkedIn::Client.new(APP_CONFIG['linkedin']['apikey'], APP_CONFIG['linkedin']['secret_key']) # "your_api_key", "your_secret") 
    if session[:atoken].nil? 
     pin = params[:oauth_verifier] 
     atoken, asecret = client.authorize_from_request(session[:rtoken], session[:rsecret], pin) 
     session[:atoken] = atoken 
     session[:asecret] = asecret 
    else 
     client.authorize_from_access(session[:atoken], session[:asecret]) 
    end 

    redirect_to '/users/index' 

    end 

end 

, 여기에 대한 오류입니다 :이 경우

Access Denied 
You don't have permission to access "/D/16382/14334/000/origin.wwwapps.ups.com/uas/oauth/authorize?oauth_token=730c3a62-08ad-4ac2-9281-c9e67bb3a2d5" on this server. 

Reference #18.6fd054b8.1339554485.72cbb3 

답변

2

참고하십시오 이 질문에 대한 궁극적 인 대답이지만, 개발 과정에서 저를 도왔던 한 가지는 캐시와 쿠키를 지우는 것이 었습니다. 보통이 오류는 시스템을 혼란스럽게 만들고이 오류를 유발 한 쿠키가 이전 세션에서 설정 되었기 때문에 나타납니다.