2017-06-19 145 views
1

我正在尝试使用rails编写API。 我已经使用这个gem omniauth-steam ,我提到这个博客。 https://www.sitepoint.com/steam-powered-dota-on-rails/
这很好,适用于HTML。当我点击通过蒸汽登录,我将被重定向到蒸汽网站,我应该登录并授权应用程序。它重新导向到我的应用程序,一切正常。
但是,当我试图通过邮递员尝试通过蒸汽登录,我仍然得到HTML响应。我甚至尝试在Postman中设置标题。如何为Steam openid登录和授权功能编写Rails API?

这里是我的的routes.rb

match '/auth/:provider/callback', to: 'api/v1/sessions#create', via: :all 
delete '/logout', to: 'api/v1/sessions#destroy', as: :logout 

产生的路径是localhost:3000/auth/steam
有没有办法让Json响应,我可以登录&通过邮递员授权的应用程序?

需要帮助Ty。

回答

1

你希望根据收到的格式来处理这些不同的东西。你需要改变你的控制器方法到这样的东西。

def create 
    # your logic here 

    respond_to do |format| 
    format.html do 
     redirect_to path 
    end 
    format.json { render json: {} } #json structure 
    end 
end 

您可以使用任何块格式。 do..end{}

+0

感谢您的回复, 从oauth生成的路径通过蒸汽登录是'localhost:3000/auth/steam',当我在postman中请求这个URL ..我得到了HTML响应。 这是将我们的页面重定向到蒸汽网站并允许用户注册的第三方链接。它不是我创建的HTML。 –