我正在使用 Omni auth 在我的 rails 应用程序中验证 twitter 帐户。
我以前可以获取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'}'它工作正常..
这个问题的任何解决方案?