我在 Laravel 中使用 Socialite 來登錄 Twitter。
我知道并非所有 Twitter 用戶的帳戶都附有電子郵件,但對于我的應用程式,用戶確實需要一個電子郵件地址。我可以阻止沒有附加電子郵件的人登錄,但目前每個用戶的電子郵件欄位都設定為空。
我正在使用此功能重定向到 Twitter:
return Socialite::driver($provider)->redirect();
我已經嘗試過使用這樣的范圍:
return Socialite::driver($provider)->scopes(['email'])->redirect();
但是 twitter 是唯一一個不允許范圍的提供者。
回呼回傳其他提供商(如 facebook 和 google)的電子郵件地址,但我在使用 twitter 時似乎遺漏了一些東西。
對于 OAuth1,在某處有一個設定可以啟用回傳電子郵件欄位的選項,但由于 twitter 接受 OAuth2,我無法在 Twitter 開發人員面板中找到此設定。
由于有關此主題的大多數資訊都已過時,因此我將不勝感激任何幫助。
uj5u.com熱心網友回復:
Twitter 的新 Oauth 2.0 用戶身份驗證目前(在撰寫此答案時)不提供對用戶電子郵件地址的訪問權限,并且需要添加額外的范圍。這是 Twitter API 路線圖上的一個已知功能請求。
您仍然可以使用 OAuth 1.0A 并設定選項以請求用戶的電子郵件地址。
uj5u.com熱心網友回復:
該解決方案在 twitter 開發人員儀表板中找到。
首先轉到您的應用程式的設定。
然后,您必須填寫指向您的隱私政策和條款頁面的鏈接。
之后還啟用 OAuth 1.0 en 然后彈出一個選項以接收來自嘗試登錄的用戶的電子郵件地址。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/411088.html
標籤:
