2010-02-02 2 views
2

Я пытаюсь объединить Райан Бэйтс Beta invitations и Open id. Способ, которым он настроен, заключается в том, что в форме регистрации есть скрытое поле, токен приглашения, который позволяет пользователю зарегистрироваться. Маркер приглашения отправляется в url:/signup /: invite_tokenПрохождение скрытого поля токена приглашения после перенаправления с авторизации openid

Однако, когда я использую open_id, он перенаправляет обратно на URL-адрес/signup без токена приглашения. Как это сделать, чтобы токен все еще проходил после перенаправления. Вот соответствующий код в плагине open_id_authorization

def open_id_redirect_url(open_id_request, return_to = nil, method = nil) 
    open_id_request.return_to_args['_method'] = (method || request.method).to_s 
    open_id_request.return_to_args['open_id_complete'] = '1' 
    open_id_request.redirect_url(root_url, return_to || requested_url) 
end 

def requested_url 
    relative_url_root = self.class.respond_to?(:relative_url_root) ? 
    self.class.relative_url_root.to_s : 
    request.relative_url_root 
    "#{request.protocol}#{request.host_with_port}#{ActionController::Base.relative_url_root}#{request.path}" 
end 

Спасибо.

ответ

1

Я думаю, что вы должны сказать open_id плагин, чтобы вернуться к /signup/:invitation_token вместо просто /signup:

signup_url(:invitation_token => params[:invitation_token]) 

Pass, что open_id_redirect_url. Я не уверен на 100%, это ваша проблема.

Смежные вопросы