【发布时间】:2012-08-27 21:56:39
【问题描述】:
我正在使用 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'}' 时它工作正常..
这个问题有什么解决办法吗?
【问题讨论】:
标签: ruby-on-rails twitter omniauth