2016-05-04 2 views
1

Пытается передать токен доступа Oauth через заголовки на другой URL-адрес (может или не быть другим доменом).Как redirect_to с заголовками авторизации в рельсах

Haml code-

%a{:href => "/external_redirect?user_id=#{@user['id']}", :id => 'external_url' } 

контроллер -

def external_redirect 

external_url = "http://external.abc.com:3008/consumerlogin?user_id=#{params["user_id"]}" 

response.headers["Authorization"] = "OAuth #{cookies[ :access_token ]}" 

redirect_to external_url 

end 

я делаю это право? Заголовок не отправляется в файл external_url.

ответ

0

Я думаю, проблема связана не с отправкой заголовков, а с вашими значениями заголовка. Заголовок OAuth, чтобы обеспечить ваш маркер доступа выглядит следующим образом:

Authorization: Bearer ACCESS-TOKEN 

Вы OAuth вместо Bearer. Попробуйте изменить свой код на:

response.headers["Authorization"] = "Bearer #{cookies[ :access_token ]}" 
0

Переадресация заставит клиента начать новый запрос.

У вас есть заголовки ответа до момента, когда браузер начинает выполнять перенаправление.

С этого момента вы не можете передавать/передавать эти заголовки на новый запрос, созданный браузером.

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