인증을 위해 Sorcery를 사용하는 Rails 3.2.8 앱이 있습니다. Sorcery는 꽤 표준적인 방법 인 current_user
을 제공합니다.현재 사용자가 하나의 컨트롤러 동작을 지속하지 않음
내 앱에 구독이 있습니다. 표준적인 방식으로 작동합니다. 다음은 컨트롤러의 축소 된 버전입니다 :
class SubscriptionsController < ApplicationController
before_filter :require_login
force_ssl
def show
@subscription = SubscriptionPresenter.new(current_user)
end
def create
handler = StripeHandler.new(current_user)
...
end
def destroy
handler = StripeHandler.new(current_user)
...
end
end
#show
조치는 잘, current_user
부하를 작동합니다. 그러나 current_user
이 해당 작업에서 nil
이되기 때문에 지금은 #create
이 작동하지 않습니다.
따라서 로그인 한 사용자가이 작업에 게시하면 current_user
이 (가) 사용하지 않는 이유는 무엇입니까? 내 생각 엔 세션이 SSL을 통해 작동하는 방식에 관한 것이지만 여기에 누락 된 내용을 모르겠습니다 ...
나는 Sorcery를 모르지만 인증 토큰이나 세션 토큰 등이 있다고 가정하고 있습니까? 그렇다면 모든 요청과 함께 발송됩니까? 그렇다면 변경되거나 변경되지 않습니까? – Vapire
나는 Sorcery가 세션 토큰을 사용한다고 믿는다. 솔직히 말해서 나는 그것이 어떻게 작동하는지 정확하게 알지 못한다. – Andrew
폼 토큰이 도착하기 전에 세션 토큰을 찾을 수 있다면 브라우저의 렌더링 된 HTML 코드를 살펴보십시오. 거기에 아무것도 없다면 나는 이것이 문제라고 좋은 기회라고 말하고 싶습니다 ... – Vapire