【问题标题】:Authentication Error When Trying to Access Jawbone API (RoR)尝试访问 Jawbone API (RoR) 时的身份验证错误
【发布时间】:2015-07-13 19:15:03
【问题描述】:

我正在尝试使用 omniauth + jawbone 在我的 Rails 应用程序中访问 Jawbone API。我有一个为用户启动 OAuth 登录的按钮,我为这个用户创建了一个用户模型,并在我的数据库上使用了一个令牌和一个刷新令牌。 (似乎 Jawbone 的 OAuth 正在工作,因为我得到了用户的信息)。

然后,在用户通过 Jawbone 登录后,我使用 HTTParty 使用给我的用户令牌查询 Jawbone API,但我收到以下错误:

{"meta"=>{"code"=>401, "error_detail"=>"You must be logged in to perform that action", "error_type"=>"authentication_error", "message"=>"Unauthorized"}, "data"=>{}}

我用来查询 Jawbone API 的代码是:

    token = current_user.token
    @result = HTTParty.get('https://jawbone.com/nudge/api/v.1.0/users/@me/moves',
                           :headers => { "Authorization: Bearer" => "#{token}"}
                          )

我一直在搜索Jawbone API documentation,但似乎找不到答案。在 Jawbone 文档中,它说身份验证错误意味着“请求需要经过身份验证的用户并且没有用户登录。”那么即使我现在有一个令牌,通过 OAuth 登录是否实际上也不会让他们登录?

感谢您的帮助!我一直在为此苦苦挣扎。

【问题讨论】:

  • 错误信息是什么?

标签: ruby-on-rails httparty jawbone


【解决方案1】:

对于那些苦苦挣扎的人来说,这不是

{ "Authorization: Bearer" => "{{token}}" }

正确的标题是

{ "Authorization" => "Bearer {{token}}" }

这是一个有效的code

【讨论】:

    【解决方案2】:

    你可以试试这个{ "Authorization: Bearer " => "#{token}"}

    我在 Bearer 之后添加了一个额外的空格。我遇到了这样的问题,我不得不放置一个额外的空间。您应该使用更新的 api 的另一件事是:“https://jawbone.com/nudge/api/v.1.1/users/@me/moves

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 2017-03-10
      • 2022-07-27
      • 2019-03-20
      • 2019-10-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多