我跟着guide provided here by Sorcery瞭解如何使用Facebook來處理用戶登錄。如何使用帶有魔法寶石的Facebook JavaScript SDK
# callback method called by Facebook after getting the authorization by the user
if user = login_from(provider) # provider == "facebook"
redirect_to root_path #, :notice => "Logged in from #{provider.titleize}!"
else
begin
user = create_from(provider)
...
但是,它只需要我的用戶離開我的網站前往Facebook頁面,然後在這裏重定向。
我想實現的是當我在頁面中使用Facebook JavaScript SDK時看到的一個乾淨的彈出窗口。要做到這一點我也跟着tutorial on Railscasts:
$('#sign_in').click (e) ->
e.preventDefault()
FB.login (response) ->
window.location = '/auth/facebook/callback' if response.authResponse
然而,authResponse
只包含一個accessToken
和signedRequest
和userid
而法術需要一個code
。
有沒有辦法正確地做到這一點(或使用accessToken
得到code
?)。
是的,那正是我想到的。最簡潔的方法是分叉魔法寶石並調整它,因爲它不會觸發彈出警告(並且看起來更好)。我已經看過了代碼,它不應該太難。謝謝 – mbillard
我跟着你的第一個建議去了,把gem分叉了,並修改它以接受'access_token':https://github.com/coachoasis/sorcery謝謝! – mbillard