我正在尝试使用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/