RailsアプリケーションでTwitterアカウントを認証するためにOmniauthを使用しています。
以前はuidパラメータを取得できましたが、現在は以下のようにnullが返されます
{"provider":"twitter","uid":null,
"info":
{
"nickname":"boobalanv",
"name":"Boobalan",
"location":"",
"image":"<image url>",
"description":"",
"urls":
{
"Website":null,
"Twitter":"http://twitter.com/boobalanv"}},
"credentials":
ローカルホストでこれをテストしています。
何が間違っているのですか、それともTwitterがユーザーIDの提供を停止していますか?
アップデート :
実際、私は以下のようにパスを承認するためのクライアントオプションを追加しましたinitializers/omniauth.rb
(そうすることで、承認のみにダイレクトメッセージにアクセスするための権限が含まれます)
provider :twitter, Rails.application.config.consumer_key , Rails.application.config.consumer_secret , authorize_params: {force_login: 'true'}, client_options: {authorize_path: '/oauth/authorize'}
これを行った後でのみ、uid = nullでこの問題が発生します。このオプションを削除すると、'client_options:{authorize_path:' / oauth /authorize'}'は正常に機能します。
この問題の解決策はありますか?