我正在尝试使用rails编写api。
我用过这个gem omniauth-steam
我提到了这个博客。
https://www.sitepoint.com/steam-powered-dota-on-rails/
这很好,适用于HTML当我点击通过steam登录时,我将被重定向到steam站点,在那里我应该登录并授权应用程序它会重定向回我的应用程序,一切正常。
但当我尝试api并尝试通过postman通过steam登录时,仍然会得到html响应。我甚至试过给邮递员设置邮件头。
这是我的路线。

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响应,我可以通过postman登录并授权应用程序?
需要帮助。

最佳答案

您需要根据接收到的格式以不同的方式处理这些问题。你需要把你的控制器方法改成这样。

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{}

关于ruby-on-rails - 如何编写用于Steam OpenID登录和授权功能的Rails API?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44624843/

10-11 17:32