타사 응용 프로그램에 로그인 한 다음 응답을 브라우저에 전달하여 프록시처럼 작동해야하는 웹 응용 프로그램을 구축하고 있습니다. 사용자는 다른 앱과 앱 모두에 자동으로 로그인해야하기 때문에이 기능이 필요합니다. 지금은 다른 응용 프로그램에 게시물 요청을 보낼 수 있으며 응답이 있지만 브라우저로 다시 전달하는 방법을 알아낼 수 없습니다. 내가 아는 바로는 레일즈 render
을 사용하여 response
오브젝트를 자동으로 빌드합니다.레일즈에서 타사 응용 프로그램의 응답 전달
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 '를 적절히 사용하여 UPDated 응답 – Leger
감사합니다. 그 트릭을 했어! –