我正在構建一個需要登錄到第三方應用程序然後將響應轉發回瀏覽器的Web應用程序,因此它的行爲類似於代理。我們需要這個,因爲用戶必須在其他應用程序和我們的應用程序中自動登錄。現在,我可以將發送請求發送給其他應用程序,並且我有迴應,但無法弄清楚如何將其轉發回瀏覽器。據我所知,Rails使用render
自動構建response
對象。在Rails中轉發第三方應用程序的響應
def auth_test
uri = URI 'login_url'
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
resp = http.post(uri.path, params.to_s)
logger.info 'Code = ' + resp.code
logger.info 'Message = ' + resp.message
resp.each {|key, val| logger.info key + ' = ' + val}
logger.info "------------------"
logger.info resp.body
# if login successful -> login to our app
# ??? send the response back to the browser (resp) ???
end
感謝任何幫助/建議。
編輯
def auth_test
uri = URI 'login_url'
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
response = http.post(uri.path, params.to_s)
logger.info 'Code = ' + response.code
logger.info 'Message = ' + response.message
response.each {|key, val| logger.info key + ' = ' + val}
logger.info "------------------"
logger.info response.body
# if login successful -> login to our app
# ??? send the response back to the browser (resp) ???
render response
end
嗨。感謝您的答覆。如上所示編輯源代碼後發生以下錯誤:'#'不是ActiveModel兼容的對象。它必須實現:to_partial_path。 –
適當使用'render'的更新答案 – Leger
謝謝。這就是訣竅! –