2017-06-19 59 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。 –