Linkedin에 잠시 동안 성공적으로 연결되었습니다. 그러나 우리는 수시로 약간의 오류가 발생하며, 누군가가이를 비추는 것을 도울 수 있기를 희망합니다. 여기에 코드가 있습니다 :Oauth with Rails
def linkedin_login
request_token = Linkedin.client.request_token(oauth_callback: "http://#{SITE_URL}/linkedin/auth/")
session[:linkedin_request_token] = request_token.token
session[:linkedin_request_secret] = request_token.secret
redirect_to request_token.authorize_url
end
def linkedin_auth
raise "Don't have proper session or oauth_verifier" if session[:linkedin_request_token].blank? or session[:linkedin_request_secret].blank? or params[:oauth_verifier].blank?
access_token = Linkedin.client.authorize_from_request(session[:linkedin_request_token], session[:linkedin_request_secret], params[:oauth_verifier])
raise "Nil access token" if access_token.blank?
redirect_to linkedin_process_path(token: access_token.first, secret: access_token.second)
end
기대하는 것보다 "올릴 세션이 없거나 oauth_verifier가 없습니다"라는 메시지가 나타납니다. 오류에 대한 ENV를 볼 때 해당 사람들은 원래 방법으로 설정된 세션 값을 가지고 있지 않습니다. 우리는 before_filters를 응용 프로그램 컨트롤러에 설정하여 세션을 초기화하므로 활성화되어 있습니다.
내 다음 생각은 "request_token"이 request_token 값을 생성하는지 여부이고 나는 여러 번 시도해 보았습니다. 그리고 그들은 모두 다시 뭔가를 가져 왔습니다. 우리는 하루에 이것들을 많이 얻습니다. 오류가 발생한 후 사용자가 다시 시도하면 제대로 작동하므로 혼란 스럽습니다.
이 문제의 원인에 대한 의견이 있으십니까?