難以通過Facebook oauth將新用戶保存到我的數據庫,因爲我已將電子郵件設置爲null:false,並且它在嘗試進行身份驗證時不抓取電子郵件。不想將我的數據庫更改爲解決方法。Facebook OAuth與魔法不保存電子郵件到數據庫
config.facebook.key = ENV['facebook_app_id']
config.facebook.secret = ENV['facebook_api_secret']
config.facebook.callback_url = "http://0.0.0.0:3000/oauth/callback?provider=facebook"
config.facebook.user_info_mapping = { :email => "email", :name=> "name"}
config.facebook.user_info_path = "me?fields=email, name"
config.facebook.scope = "email" #etc
config.facebook.display = "popup"
config.facebook.access_permissions = ["email", "user_friends", "public_profile"]
config.facebook.api_version = "v2.5"
用戶表如下所示:
create_table "users", force: :cascade do |t|
t.string "name"
t.text "about_me"
t.string "email", null: false
t.string "crypted_password"
t.string "salt"
t.datetime "created_at"
t.datetime "updated_at"
# .....
服務器日誌:
SQL (1.6ms) INSERT INTO "users" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id" [["created_at", "2016-03-14 00:50:35.548272"], ["updated_at", "2016-03-14 00:50:35.548272"]] (0.2ms) ROLLBACK
你是用戶的用戶有一個被驗證的電子郵件地址? – WizKid
是的。嘗試與另一個帳戶以及 – Sofanisba
嘗試使用圖形瀏覽器中相同的訪問令牌做相同的查詢 – WizKid