我發現了一個相關question沒有滿意的回答,於是再次詢問這裏:授權的應用程序,沒有擊中瀏覽器代碼級[看門]
我使用Doorkeeper GEM爲我的應用程序的API調用。我已按照oauth2寶石文檔的步驟:
require 'oauth2'
client = OAuth2::Client.new('client_id', 'client_secret', :site => 'https://example.org')
client.auth_code.authorize_url(:redirect_uri => 'http://localhost:8080/oauth2/callback')
正如我們所看到的最後一行執行給出一個URL在瀏覽器中使用,並點擊「授權」後得到授權碼。
但是,我想要做的所有這些在Rails的模型層,這樣我就不必命中授權碼瀏覽器,它應該得到的內部,我可以在以後使用的令牌生成的代碼。
可能嗎?
在正常的OAuth流程中,您將用戶重定向到OAuth提供商的網站進行登錄。成功登錄用戶後,將用您交換訪問令牌的代碼重定向回您的應用程序。您是否設置了門衛以使用不同的OAuth2方法提供訪問令牌? – philnash
@philnash現在我已經將我的方法從** auth_code **更改爲**隱式**,但如果未登錄,它仍會將我重定向到登錄頁面。我想通過將用戶憑據直接傳遞到內部來創建用戶會話獲取令牌 – Abhi