【问题标题】:Authorization header required Fitbit Swift oauth需要授权标头 Fitbit Swift oauth
【发布时间】:2016-06-13 19:42:41
【问题描述】:

所以我得到的错误是:HTTP Status 401: Unauthorized, Response: {"errors":[{"errorType":"invalid_request","message":"Authorization header required.

我必须授权 Fitbit 的代码是:

func authorizeFitbit(completion: (result: Bool) -> Void ){
        oauthswift.accessTokenBasicAuthentification = true
        let state: String = generateStateWithLength(20) as String
        oauthswift.authorizeWithCallbackURL( NSURL(string: "xxxxxxxxx")!, scope: "xxxxxxxxxxxxx", state: state, success: {
            credential, response, parameters in
            self.getUserProfile(){
                (result: Bool) in
                completion(result:  result)
            }

            }, failure: { error in
                print(error.localizedDescription)
                completion(result:  false)
        })
        }

我能够获取个人资料信息,但是当我试图通过单击 IBAction 按钮从 fitbit 获取更多信息时,我需要再次使用此授权功能来获取步数。

【问题讨论】:

    标签: swift oauth fitbit


    【解决方案1】:

    这个问题可能需要更多细节才能得到正确回答。

    • 您使用的是什么 OAuth 授权类型?
    • 您使用的oauthswift 类是什么?您自己还是第三方?
    • 您声明您可以获取个人资料信息。是否应该阅读这句话,因为您能够完全了解您正在使用的任何授权类型,但在您想要对资源服务器执行新请求时遇到问题?

    当您将请求发送到资源服务器时,其他一些 OAuth 实现要求您使用实际令牌类型和实际 access_token 设置 Authorization HTTP 标头。以下是使用授权码流的 Microsoft Azure AD 示例:

    GET /v1.0/me/messages
    Host: https://graph.microsoft.com
    Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSU...
    

    另一种可能性,如果我比较“授权码”授权类型,“invalid_request”错误意味着您没有通过请求流程中的第一阶段,即您在请求访问令牌之前遇到的错误。

    编辑:没有看到这个问题有多老。好吧,我还是让回复在这里,也许有一天它会对某人有所帮助......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-19
      • 2016-07-31
      • 1970-01-01
      • 2013-04-19
      • 1970-01-01
      • 2018-07-29
      • 1970-01-01
      • 2012-08-18
      相关资源
      最近更新 更多